明年就毕业了,自己定的方向是Java软件研发工程师和Web开发,因而这几个月一直在疯狂地学习java,web,以前很多模糊的概念,现在也懂了,于是就像写出来,供大家看看,分享一下!呵呵。
this 和super是java中比较关键的两个关键字,很多参考书,教科书,解释的都是一知半解,也不详细,因而很多人也有误解,也有误区。我今天自己baidu了下,加上自己的总结,就是下边的东西了,不对指出,还望大家指出啊。
-------------海纳百川,有融为大。
Java中this常指当前对象,而super是指父类,当你想调用当前类中的成员变量,方法时,就可以用this。也许这时有的人会说,可以直接调用当前类的方法和变量啊。比如
class edu{
{
String schoolName;
String address;
edu(String s,String add)
{
schoolName = s;
address = add;
printfEdu();
}
public void printEdu()
{ System.out.println("This is "+shoolName+" ,地址在:"+address);}
}
这样的情况,的确不需要this关键字,但是如果下面的情况就必须用关键字,这样可以避免混淆。
class edu{
{
String schoolName;
String address;
edu(String schlloName,String address)
{
this.schoolName = s;
this.address = add;
printfEdu();
}
public void printEdu()
{ System.out.println("This is "+shoolName+" ,地址在:"+address);}
}
另外this可以区分成员变量和局部变量。比如:
class edu{
{
String schoolName;
String address;
edu(String s,String add)
{
String schoolName ;
//局部变量
schoolName = s;
//成员变量
this.schoolName =s;
address = add;
printfEdu();
http://longquanbailing.com sducc1125}
public void printEdu()
{ System.out.println("This is "+shoolName+" ,地址在:"+address);}
}
-----------------------------------------------------SUPER--------------------------------------------------------
super 调用父类对象的方法和变量,和this一样,有特殊的效果。
class Whuedu{
{
String schoolName;
String address;
edu(String s,String add)
{
schoolName = s;
address = add;
printfEdu();
}
public void printEdu()
{
//super 调用父类的方法
super.printEdu();
}
}
一般不喜欢调用父类的成员变量,因而调用成员变量就不介绍了。
------------------------------------
以上均为自己所想,不对的,请留言,一起分享。