舟山城乡建设培训中心网站,seo5,上线了自助建站,wordpress脚注目录 
JAVA子类与继承 
一、子类与父类: 
二、子类与对象 
三、成员变量的隐藏和方法重写 
四、super关键字#xff08;P122#xff09; 
五、final关键字 
六、对象的上转型对象#xff08;P126#xff09; 
七、继承与多态#xff08;P128#xff09; 
八、abstract类和…目录 
JAVA子类与继承 
一、子类与父类: 
二、子类与对象 
三、成员变量的隐藏和方法重写 
四、super关键字P122 
五、final关键字 
六、对象的上转型对象P126 
七、继承与多态P128 
八、abstract类和abstract方法 JAVA子类与继承 
四种权限修饰符 
public    protected    (default)    private 
类方法实例方法与静态方法 
对象调用实例方法类名调用类方法 一、子类与父类: 
Java不支持多重继承一个子类只能继承一个父类 
格式class A extends B { …… } 
继承性子类继承父类中的成员变量与方法 
子类父类在同一个包中可以继承子类中除了private的成员变量 
不在同一个包中不继承除了private和default友好的成员变量继承public和protected 二、子类与对象 
子类可以继承父类的一些成员变量和方法但是不能继承private的成员变量子类继承父类的一部分方法这部分方法可以操作未继承到的private变量 关于instanceof运算符 
左面是对象右面是类结果为true或者false 
// 定义showEat方法使用父类作为方法的形参实现多态传入的是哪个具体对象就调用哪个对象的eat()方法/********* begin *********/public static void showEat(Person a){if(a instanceof Chinese){Chinese c  (Chinese) a;c.shadowBoxing();}if(a instanceof English){English c  (English) a;c.horseRiding();}}/********* end *********/三、成员变量的隐藏和方法重写 
方法重载一个类中可以有多个方法具有相同的名字但这些方法的参数必须不同。需满足下面两个条件之一 
参数的个数相同参数的个数不同但参数列表中对应的某个参数的类型相同 
成员变量的隐藏 
子类可声明与父类相同的成员变量的名字在这种情况下可以将父类的成员变量隐藏 
特点 
子类继承的方法所调用的成员变量一定是父类所隐藏的成员变量子类自己定义的方法可以操作子类继承的以及新定义的成员变量 
方法重写通过方法重写可以隐藏已继承的方构造函数和静态方法不能重写 
子类定义的一个方法的类型与父类的一致要满足方法的名字参数的个数参数的类型与父类一致四同 四、super关键字P122 
使用super调用父类中被隐藏的成员变量以及方法比如super.xsuper.f()使用super调用父类中的构造方法 
子类不继承父类的构造方法使用super调用父类的构造方法且super必须是子类构造方法中的头一条语句。即子类继承父类生成对象时必须先调用父类的构造方法父类得有一个不带参数得构造方法方便子类重写。 
super( ); 默认为调用父类的构造方法P124 五、final关键字 
可以修饰类成员变量方法中的局部变量 
Final类不允许继承final成员变量不允许重写final方法中的局部变量或者全局变量为常量 
instanceof 左边对象右边类 
六、对象的上转型对象P126 
用子类创建一个对象且把这个对象放在父类中 
Animal a 
anew Tiger 
或者 
Animal a 
Tiger bnew Tiger 
ab 上转型对象不可以调用子类新增的方法与成员变量上转型对象不能操作子类新增的成员变量不能调用子类新增的方法。上转型对象可以访问子类继承或隐藏的成员变量可以调用子类继承的方法或子类重写的实例方法上转型对象可以调用隐藏的变量继承的变量与方法以及重写的实例方法若子类重写了父类的某个实例方法则上转型对象调用的实例方法一定是重写之后的可以将对象的上转型对象强制转换为子类对象Tiger c(Tiger) a把上转型对象a强制转换为子类对象c子类重写了父类的静态方法则子类对象只能调用父类的静态方法对象可调用继承的变量与方法新增的变量与方法重写的方法 七、继承与多态P128 
父类的方法被子类重写时可以产生各自的功能行为 
继承、重写、父类引用指向子类对象 八、abstract类和abstract方法 
Abstract类 
只允许声明不允许实现没有方法体该有的参数要有不能用static和final修饰必须是实例方法非abstract类不可有abstract方法 
abstract类可以有abstract方法可继承与重写也可以有非abstract方法若是子类必须重写父类的抽象方法且只能大于父类权限 
构造方法必须重写 
4、 可以使用abstract类声明对象但是不能用new创建该对象 
abstract class Person {
public Person() {};#必须重新声明一下
public Person(String name,int age){this.namename;this.ageage;
}
}abstract class Player extends Person {public Player() {super();}#同理需要声明public Player(String name,int age){super(name,age);
}
}