//继承3:类变量和继承之后的关系
//1.定义父类myNumber
class myNumber
{
//2.加上static,定义类变量
//它将随子类的某一个实例对象的改变而改变
private static int number=5;
public void setNumber(int i)
{
number=i;
}
public int getNumber()
{
return number;
}
}
//3.定义子类E1
class E1 extends myNumber
{
}
//4.定义子类E2,同时它是后面S类的父类
class E2 extends myNumber
{
}
//5.定义子类S,它继承父类E2
class S extends E2
{
}
class Ex3_1_3
{
public static void main(String[] args)
{
//6.实例化子类
//当创建多个新实例后,各实例之间是独立的,但类变量是共享的
E1 a1=new E1();
E2 a2=new E2();
S s=new S();
//7.直接使用父类的变量和方法
//子子类改变了类变量number的值,
s.setNumber(20);
//8.导致其他类的值都发生改变
System.out.println("a1=:"+a1.getNumber());
System.out.println("a2=:"+a2.getNumber());
System.out.println("s=:"+s.getNumber());
}
}