看这个是否对你有帮助
public class ExtendsDemo {
/**
* @param args
*/
public static void main(String[] args) {
A a=new A();//只能调用父类方法
a.getA();
System.out.println("A a=new A():"+a.i);//10
System.out.println("-----------");
A a1=new B();
a1.getA();
System.out.println("A a1=new B():"+a1.i);//10
System.out.println("-----------");
A b=new A();
b.getA();
System.out.println("A b=new A():"+b.i);//10
System.out.println("-----------");
B b1 =new B();
b1.getB();
b1.getA();
System.out.println("B b1 =new B():"+b1.i);//20
}
}
class A{
public int i=10;
A(){
System.out.println("这是父类的构造器");
}
public void getA(){
System.out.println("这是父类的方法");
}
}
class B extends A{
public int i=20;
B(){
System.out.println("这是子类的构造器");
}
public void getB(){
System.out.println("这是子类的方法");
}
public void getA(){
System.out.println("这是子类重写父类的方法");
}
}
输出结果:
这是父类的构造器
这是父类的方法
A a=new A():10
-----------
这是父类的构造器
这是子类的构造器
这是子类重写父类的方法
A a1=new B():10
-----------
这是父类的构造器
这是父类的方法
A b=new A():10
-----------
这是父类的构造器
这是子类的构造器
这是子类的方法
这是子类重写父类的方法
B b1 =new B():20
|