这个只需要记住一点,父类的任何属性(变量可以看做属性),子类均可继承并覆盖,allType(father)——》changeAnyType(son)——》AnyType
这是父类的所有代表属性(我能想到的),包含普通实例变量,修饰符,访问权限,数据类型,常量修饰符,静态修饰符
package ExtendVariable;
package ExtendVariable; public class Ancestor {//父类 int ix=0;//普通实例成员属性 double dx = 1;//不同类型实例成员变量 int bx=10000; final int fy=2;//普通常量成员属性 static int sz=3;//普通静态成员属性 private int priVar = 4;//不同权限的成员属性 int defVar = 5;//缺省权限 protected int proVar = 6; public int pubVar = 7; }
子类通过extend继承父类之后,通过更改相关属性
package ExtendVariable; public class son extends Ancestor{ //将int型改为double,将double改为int,将int型改为布尔型 double ix = 0.1; int dx = 10; boolean bx=true; //将普通常量变量改为普通变量 int fy = 20; //将静态成员变量改为普通实例成员变量 int sz=30; //将所有权限颠倒过来 public int priVar=40; protected int defVar=50; int proVar=60; private int pubVar=70; public void showAllMember() { System.out.println("ix= "+this.ix); System.out.println("dx= "+this.dx); System.out.println("bx= "+this.bx); System.out.println("fy= "+this.fy); System.out.println("sz= "+this.sz); System.out.println("priVar= "+this.priVar); System.out.println("defVar= "+this.defVar); System.out.println("proVar= "+this.proVar); System.out.println("proVar= "+this.pubVar); } public static void main(String args[]) { son oa = new son(); oa.showAllMember(); } }
得出结果为:
ix= 0.1
dx= 10
bx= true
fy= 20
sz= 30
priVar= 40
defVar= 50
这里说明父类的任何属性均可被子类继承并任意覆盖