多态中成员变量与成员方法的调用

public class Test2 {
	public static void main(String[] args) {
		A  a = new B();
		a.show1();				//结果为B1	调用子类的成员变量
		System.out.println(a.n);		//结果为A    调用父类自己的成员变量
		
		//a.show2();   //会出现编译错误
	}
}


class A {
	
	public static String n ="A";

			
	void  show1(){
		System.out.println("A1");
	}
}

class B extends A {
	
	public static String n ="B";
	
	
	void  show1(){
		System.out.println("B1");
	}
	
	void show2(){
		System.out.println("B2");
	}
}

你可能感兴趣的:(Java学习)