#JAVA#面向对象(this和super的区别)
package 继承;
/*
问题:不仅仅要输出局部范围的num,还要输出成员范围的num。
如果还要输出父类成员范围的num,java提供了关键字:super
this和super的区别:
this代表本类对象的引用
super代表父类存储空间的标识(可以理解为父类引用,可以操作父类的成员)
如何用?
A:调用成员变量
this.成员变量 调用本类的成员变量
super.成员变量 调用父类的成员变量
B:调用构造方法
this(...) 调用本类的成员方法
super(...) 调用父类的构造方法
C:调用成员方法
this.成员方法 调用本类的成员方法
super.成员方法 调用父类的成员方法
*/
class Father{
public int num=10;
}
class Son extends Father{
public int num=20;
public void show() {
int num=30;
System.out.println(num);
System.out.println(this.num);
System.out.println(super.num);
}
}
class extendsDemo {
public static void main(String args[]) {
Son s=new Son();
s.show();
}
}