`
马晨辉
  • 浏览: 51252 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Java继承

 
阅读更多
package ExtendTest;

public class A {
private int a =1;
public int b =11;
public int getA() {
return a;
}
public void setA(int a) {
this.a = a;
}
public void B(){
this.C();
}
public void C(){
System.out.println("B->C"+a);
}
}

package ExtendTest;

public class AB extends A {
private int a =2;
public int b = 22;
public int getA() {
return a;
}
public void setA(int a) {
this.a = a;
}
public void C(){
System.out.println("AB->C"+a);
}
public static void main(String[] args){
A t = new AB();
AB t1 = new AB();
t.B();
System.out.println(t.getA());
System.out.println(t.b);
System.out.println(t1.b);
}
}

Java 在继承的时候,方法被重写this永远指向运行时的类型。所以调用的时候,总是指向new 对象实例化的对象。
但是public的属性,就不同,它指向声明的类型的属性,猜测它有可能是编译期就决定了。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics