62,616
社区成员
发帖
与我相关
我的任务
分享
class Base{
public int a = 1;
public void fun(){
System.out.println("Base fun()");
}
public static void staticf(){
System.out.println("Base staticf()");
}
}
public class Derived extends Base {
public int a=2; //会隐藏Base.a
@Override
//下面实例方法会覆写超类中可访问到的具有相同签名的实例方法[JLS 8.4.8.1],不是隐藏
public void fun(){
System.out.println("Derived fun()");
}
//@Override
//下面静态方法会隐藏超类中可访问到的具有相同签名的静态方法
public static void staticf(){
System.out.println("Derived staticf()");
}
public static void main(String[] args) {
Derived test = new Derived();
//测试test对象的属性和方法
System.out.println("test.a = "+test.a);
System.out.println("((Base)test).a = "+((Base)test).a);
((Base)test).fun();
test.staticf();
((Base)test).staticf();
}
}