当前位置: 技术问答>java相关
各位高手,谁替我解释一下“this”
来源: 互联网 发布时间:2014-12-28
本文导语: 我的java书上,this的例子只有一个,就是在类的某个constructor中调用该类的其他constructor(参数列表不同)。对this的定义是可为调用其方法的那个对象产生相应的句柄(不是很明白!!!)。 请各位高手更详细的为我解...
我的java书上,this的例子只有一个,就是在类的某个constructor中调用该类的其他constructor(参数列表不同)。对this的定义是可为调用其方法的那个对象产生相应的句柄(不是很明白!!!)。
请各位高手更详细的为我解释一下,最好配简单的例子,谢谢。
还有,还有什么时候可以用this, 我曾经看到过 className.this的写法,好像是在多线程程序里面,但是在 main 方法中写 className.this 又通不过。
谢谢指点
请各位高手更详细的为我解释一下,最好配简单的例子,谢谢。
还有,还有什么时候可以用this, 我曾经看到过 className.this的写法,好像是在多线程程序里面,但是在 main 方法中写 className.this 又通不过。
谢谢指点
|
在一个类中,它保存有两个默认的对象引用:this , super;
this :是指向它自己的引用,你可以使用this存取本对象其他的属性和方法.
super:是指向它的父类(基类,超类)的引用,可以用它存取父类的属性和方法(除了private).
for example:
class Base
{
private int age ;
public Base( int age )
{
this.age = age //前一个age指的是Base的private属性age, 后一个age指的是参数age.
}
public int getAge()
{
return this.age ;
}
}
class Derived extends Base
{
private int account ;
public Derived( int age , int account )
{
super( age ) ; //调用父类的构造函数,并将age作为参数传给它,一定要在构造函
// 数的最前面
this.account = account ;
}
public int getAccount()
{
return this.account ;
}
}
this :是指向它自己的引用,你可以使用this存取本对象其他的属性和方法.
super:是指向它的父类(基类,超类)的引用,可以用它存取父类的属性和方法(除了private).
for example:
class Base
{
private int age ;
public Base( int age )
{
this.age = age //前一个age指的是Base的private属性age, 后一个age指的是参数age.
}
public int getAge()
{
return this.age ;
}
}
class Derived extends Base
{
private int account ;
public Derived( int age , int account )
{
super( age ) ; //调用父类的构造函数,并将age作为参数传给它,一定要在构造函
// 数的最前面
this.account = account ;
}
public int getAccount()
{
return this.account ;
}
}
|
this实际上就是一个类的实例,不过它是指类自己的实例。
classname.this 的道理是一样的,不过在类定义的时候可能出现类嵌套定义的情况,为了指定外层的类的实例就可以用这种语法。
classname.this 的道理是一样的,不过在类定义的时候可能出现类嵌套定义的情况,为了指定外层的类的实例就可以用这种语法。