Java的继承和多态
继承
1.子类可以从父类继承属性和方法
2.子类的继承性
(1)子类和父类在同一个包中
父类中除private定义的变量或方法均可继承
(2)子类和父类不在同一个包中
子类继承了public 和protected定义的方法和对象
3.子类对象的构造过程
(1)子类对象化时,判断是否有父类,有则先调用父类构造器,完成父类成员变量的初始化后调用子类·自己的构造器
(2)super指定父类构造器
使用时必须在构造器的第一行。当父类成员和子类成员冲突时使用super.成员可区分·
4.对象的上转型对象
父 a;
a = new 子();
5.覆盖与多态
Override
(1)子类重写父类某个方法
(2)不管对象是什么类型,调用方法都是new后构造器所在类的方法
(3)为防止方法被覆盖,可用final修饰
多态
一个方法的多种实现
public class textextends {
//测试继承
public static void main(String[] args) {
Student stu=new Student();
stu.name="h";
stu.height=180;
stu.rest();
Student stu2=new Student("l",18,"medical science");
System.out.println(stu2 instanceof Student);
System.out.println(stu2 instanceof Person);
System.out.println(stu2 instanceof Object);
System.out.println(new Person() instanceof Student);
}
}
class Person{
String name;
int height;
public void rest() {
System.out.println("我想休息");
}
}
class Student extends Person{
String major;
public void study() {
System.out.println("我想学习");
}
public Student(String name,int hight ,String major) {
this.name=name;
this.height=height;
this.major=major;
}
public Student() {}
}
6.Object类
(1)Java中所有的类都继承自Object类
(2)toString方法的重写,输出自己希望输出的格式