A. java this 的用法
this关键字用来指代当前对象。
你说的这个问题我也曾考虑过,但是最终还是要用一样的变量名,其原因是:
你的方法是用来给其他程序在其他位置调用的。如果你在这里设置了不同的变量名,那其他地方在调用的时候也会看到你的另外一个参数名,因为名字不一样,就不能一下知道你的参数到底是需要什么东西,对于除开你自己外的所有开发人员都不具有可读性。而且对后期的维护会造成很大的麻烦,为了避免这些麻烦,这里都是要用相同的变量名的,只需要加一个this关键字就可以。相对来说是很方便的。
B. 关于java中的this用法
因为Fish类继承了Animal类,所以他就拥有Animal的所有方法和变量,所以Fish声明的对象用this能指出name和age
C. this()在java中什么意思
this表示类实例本身。
this的用法:
1、表示对当前对象的引用!
publicclassA{
publicAgetA(){
returnthis;//表示获取当前实例本身
}
}
2、表示类的成员变量,而非函数参数,注意在函数参数和成员变量同名是进行区分!
publicclassA{
privateinta=0;//位置1
publicAgetA(inta){
this.a=a;//前面this.a表示位置1的a,赋值=号右侧的表示参数a
}
}
3、用于在构造方法中引用满足指定参数类型的构造器。
publicclassA{
publicA(inta){
}
publicA(){
this(1);//这里调用自身的构造函数publicA(inta){
}
}
D. JAVA中的this是什么意思
java里面this是指本身的意思,比如说在一个类里面this就代表自己本身这个类
E. java中this的用法
1. this指当前对象。
当在一个类中要明确指出使用对象变量或函数时加上this引用。如下面例子中:
public class Hello {
String s = "Hello";
public Hello(String s){
System.out.println("s = " + s);
System.out.println("1 -> this.s = " + this.s);
this.s = s;
System.out.println("2 -> this.s = " + this.s);
}
public static void main(String[] args) {
Hello x=new Hello("HelloWorld!");
}
}
运行结果:
s = HelloWorld!
1 -> this.s = Hello
2 -> this.s = HelloWorld!
在这个例子中,构造函数Hello中,参数s与类Hello的变量s同名,这时直接对s进行操作则是对参数s进行操作。对类Hello的成员变量s进行操作就应该用this进行引用。运行结果的第一行就是直接对构造函数中传递过来的参数s进行打印结果;
第二行是对成员变量s的打印;第三行是先对成员变量s赋传过来的参数s值后再打印,所以结果是HelloWorld!
2. this作为参数传递
当你要把自己作为参数传递给别的对象时如:
public class A {
public A() {
new B(this).print();
}
public void print() {
System.out.println("Hello from A!");
}
}
public class B {
A a;
public B(A a) {
this.a = a;
}
public void print() {
a.print();
System.out.println("Hello from B!");
}
}
运行结果:
Hello from A!
Hello from B!
在这个例子中,对象A的构造函数中,new
B(this)把对象A作为参数传递给了对象B的构造函数。
F. java this什么意思
java中的this随处可见,用法也多,现在整理有几点:
1. this是指当前对象自己。
当在一个类中要明确指出使用对象自己的的变量或函数时就应该加上this引用。如下面这个例子中:
public class Hello {
String s = "Hello";
public Hello(String s) {
System.out.println("s = " + s);
System.out.println("1 -> this.s = " + this.s);
this.s = s;
System.out.println("2 -> this.s = " + this.s);
}
public static void main(String[] args) {
Hello x = new Hello("HelloWorld!");
}
}
运行结果:
s = HelloWorld!
1 -> this.s = Hello
2 -> this.s = HelloWorld!
在这个例子中,构造函数Hello中,参数s与类Hello的变量s同名,这时如果直接对s进行操作则是对参数s进行操作。若要对类Hello的成员变量s进行操作就应该用this进行引用。运行结果的第一行就是直接对构造函数中传递过来的参数s进行打印结果; 第二行是对成员变量s的打印;第三行是先对成员变量s赋传过来的参数s值后再打印,所以结果是HelloWorld!
2. 把this作为参数传递
当你要把自己作为参数传递给别的对象时,也可以用this。如:
public class A {
public A() {
new B(this).print();
}
public void print() {
System.out.println("Hello from A!");
}
}
public class B {
A a;
public B(A a) {
this.a = a;
}
public void print() {
a.print();
System.out.println("Hello from B!");
}
}
运行结果:
Hello from A!
Hello from B!
在这个例子中,对象A的构造函数中,用new B(this)把对象A自己作为参数传递给了对象B的构造函数。
G. java中this的用法
1、this指向当前类的对象,也就是TwoListen类的对象。由于MouseMotionListener,MouseListener 都是接口,因此
f.addMouseMotionListener(this);//(************************)
f.addMouseListener(this); //(************************)
中分别需要一个实现了MouseMotionListener和MouseListener接口的类的实例。
在本例子中 TwoListen类都实现了这两个接口,因此可以用本类的实例来做参数。或者新建一个实现了这两个接口的类,再用这个类的实例做参数。
2、在该例子中,this指向生成的two对象。为什么用two替换后就不能运行了呢?
因为two是在main方法中定义的,是局部变量;而在go方法中并不能访问其他方法中定义的局部变量。
如果把two定义为全局变量,如:
static TwoListen two;
再在main方法中定义:
two=new TwoListen();
这时就可以用two代替this了