public class ThisDemo {
//第一个i
int i;
//this的第一个作用是区分同名的属性与参数
public void thisDemmo(int i){
// i=i//两个为黑色
this.i=i;//加了this后区分开两个i
}
//this的第二个作用是实现链式调用
public ThisDemo a(){
return this;
}
public ThisDemo b(){
return this;
}
public ThisDemo c(){
return this;
}
public static void main(String[] args) {
ThisDemo thisdemo=new ThisDemo();
//实现链式调用
thisdemo.a().b().c();
}
}
//第一个i
int i;
//this的第一个作用是区分同名的属性与参数
public void thisDemmo(int i){
// i=i//两个为黑色
this.i=i;//加了this后区分开两个i
}
//this的第二个作用是实现链式调用
public ThisDemo a(){
return this;
}
public ThisDemo b(){
return this;
}
public ThisDemo c(){
return this;
}
public static void main(String[] args) {
ThisDemo thisdemo=new ThisDemo();
//实现链式调用
thisdemo.a().b().c();
}
}
以下为super:
public class B {
int i=1;
public void b(){
System.out.println(i);
}
public static void main(String[] args) {
C c=new C();
B b=(B)c;
//子类中既包含了父类的i也包含自身的i,当在子类内部调用i的时候,子类的i会把父类的i覆盖掉
//用父类强转子类的i,实质上用的是父类的i
System.out.println(b.i+"<br>");
c.b();
}
}
class C extends B{
int i=2;
public void b(){
System.out.println("用super调用父类的属性与方法:"+super.i);
// System.out.println("用super调用父类的属性与方法:"+super.b());
super.b();
}
}