大型网站制作费用表,泰安专业的网站建设,长沙广告网页设计人才招聘,功能性的网站设计制作大家好#xff0c;我是可乐#xff0c;一个专注原创#xff0c;乐于分享的程序猿。 本系列教程持续更新#xff0c;可以微信搜索「 IT可乐 」第一时间阅读。回复《电子书》有我为大家特别筛选的海量免费书籍资料this 也是Java中的一个关键字#xff0c;在《Java编程思想》…大家好我是可乐一个专注原创乐于分享的程序猿。 本系列教程持续更新可以微信搜索「 IT可乐 」第一时间阅读。回复《电子书》有我为大家特别筛选的海量免费书籍资料this 也是Java中的一个关键字在《Java编程思想》第四版第五章5.4小节对 this 关键字是这样介绍的this 关键字只能在方法内部使用表示对“调用方法的那个对象”的引用。其实简单来说 this 关键字就是表示当前对象下面我们来具体介绍 this 关键字在Java中的用法。1、调用成员变量在一个类的方法内部如果我们想调用其成员变量不用 this我们会怎么做package com.ys.test;/*** Create by YSOcean*/
public class ThisTest {private String name Tom;public void setName(String name){name name;}public String getName() {return name;}}看上面的代码我们在 ThisTest 类中创建了一个 name 属性然后创建了一个 setName 方法注意这个方法的形参也是 String name那么我们通过 name name 这样赋值会改变成员变量 name 的属性吗public static void main(String[] args) {ThisTest tt new ThisTest();tt.setName(Marry);System.out.println(tt.getName());//Tom}打印结果是 Tom而不是我们重新设置的 Marry显然这种方式是不能在方法内部调用到成员变量的。因为形参的名字和成员变量的名字相同setName 方法内部的 name name根据最近原则编译器默认是将这两个 name 属性都解析为形参 name从而导致我们设值操作和成员变量 name 完全没有关系当然设置不了。解决办法就是使用 this 关键字。我们将 setName 方法修改如下public void setName(String name){this.name name;}在调用上面的 main 方法进行赋值打印的结果就是 Marry 了。this 表示当前对象也就是调用该方法的对象对象.name 肯定就是调用的成员变量。2、调用构造方法构造方法是与类同名的一个方法构造方法没有返回值但是也不能用 void 来修饰。在一个类中必须存在一个构造方法如果没有编译器会在编译的时候自动为这个类添加一个无参构造方法。一个类能够存在多个构造方法调用的时候根据参数来区分。package com.ys.test;/*** Create by YSOcean*/
public class ThisTest {private String name;public ThisTest(){this(Marry);}public ThisTest(String name) {this.name name;}
}通过 this(Marry) 来调用另外一个构造方法 ThisTest(String name) 来给成员变量初始化赋值。注意通过 this 来调用构造方法只能将这条代码放在构造函数的第一行这是编译器的规定如下所示放在第二行会报错。3、调用普通方法this 表示当前对象那么肯定能够调用当前类的普通方法。public void printName(){this.say();}public void say(){System.out.println(say method...);}第 2 行代码在 printName() 方法内部调用了 say() 方法。4、返回当前对象/*** Create by YSOcean*/
public class ThisTest {public Object newObject(){return this;}
}这表示的意思是谁调用 newObject() 方法那么就返回谁的引用。本系列教程持续更新可以微信搜索「 IT可乐 」第一时间阅读。回复《电子书》有我为大家特别筛选的书籍资料http://weixin.qq.com/r/iSqbg-fEGqplrbPg93_b (二维码自动识别)