『壹』 java Eclipse 中 在类与方法调用中 (this)的用法

this表示类实例本身。抄
this的用法
1、表示对当前对象的引用!
public class A{
public A getA(){
return this;//表示获取当前实例本身
}
}
2、表示类的成员变量,而非函数参数,注意在函数参数和成员变量同名是进行区分!
public class A{
privateint a = 0;//位置1
public A getA(int a){
this.a = a;//前面this.a表示 位置1 的a,赋值=号右侧的表示参数a
}
}
3、用于在构造方法中引用满足指定参数类型的构造器。
public class A{
public A(int a){
}
public A(){
this(1);//这里调用自身的构造函数public A(int a){
}
}

『贰』 java中this的用法问题

this是指对当前对象的引用,例如:
public class Demo{
int a;
public void setA(int a){
this.a = a;//右边的a是setA中参数的a不是版Demo中的a 左边的a 是指Demo中的a,这里的this就是为了区分a是谁的权a 这里也就是把右边的a赋值给左边

}

}
不理解的可以继续追问

『叁』 java中,调用这个实例方法时用this.方法名,引用名.方法名都是合理的吗

this是当前对象,引用不一定是当前对象

『肆』 java中this的使用方法

指代自身
例如
class A{
public int x;
public void y() {...}
}
这里this.x就指代A.x
this.y()就指代调用自身方法等于A.y

『伍』 在java中怎样用this调用构造方法

for example:
public class YourClass{
String name;
String age;

public YourClass(String name){
this.name = name;
}

public YourClass(String name, String age){//重载的构造子
this(name);
this.age = age;
}
}

『陆』 java中一般方法里的this是代表调用本方法的对象,但是构造方法里的this代表的是什么呢。

this代表你正在构造的对象。

publicclassTest{
publicTest(){
System.out.println(this.toString());
}
publicstaticvoidmain(String[]args){
Testobj=newTest();
System.out.println(obj.toString());
}
}

输出的两个字符串相同(后面的数字是对象地址),说明this和obj是同一个对象。


这里this就是正在构建的CommunicationDemo的对象,作为参数传给Thread的构造函数。


内幕是:java对象的建立其实是在构造函数开始执行之前,就是说构造函数执行的时候,被构造的对象其实已经存在了,所以构造函数中可以用this引用当前被构造的对象进行处理(比如 this.name=“Jack”)。

『柒』 Java中this关键字与方法

就普通方法或者属性而言,写this和不写this没区别。
this主要是用来和super区分的。this调用本类的构造方法,super调用父类的构造方法。

『捌』 java关于this调用本类的方法

s是对Student对象实例的引用,运行代码s.fun();因为Student类中没有fun()这个方法。于是,程序去他的父类寻找。找到后,首先输出“什么玩意”,然后运行this.print();注意java中的关键字this在编译的时候就确定了,它就代表定义时候的对象。(这点和javascript有很大不同)。因此,此时的this代表Person,接着运行Person中的print()方法,输出结果就是“这是父类的方法”。但是,为什么去掉private关键字结果又不一样了呢?因为被private修饰的方法和属性是不会被子类继承的,如果是默认的权限,子类也可以继承到。于是,在父类运行this.print()时(即没有关键字private修饰),它会去子类查找该方法是否被重写,如果是,则调用子类方法;否则,执行父类的方法。

『玖』 java中this可以调用的方法吗

可以来。this代表当前对象。举个例子:源
class Student{
int a;
void a(){
System.out.println("a is run!");

};
void b(){
System.out.println(this.a);
this.a();

}

}
class Test{
public static void mian(String[] args){
Student stu = new Student();
System.out.println(stu.a);
stu.a();

stu.b(); //这里的执行结果和上面是一样的

}

}
抱歉 排版好的,发出去就这样有点怪,不知道怎么回事