继承 extends
Object类是所有类的祖先
重写
在继承关系中,子类会自动继承父类中定义的方法
但有 时在子类中需要对继承的方法进行一些修改
即对父类的 方法进行重写,覆盖
需要注意的是,在子类中重写的方法需要和父类 被重写的方法具有相同的方法名、参数列表以及返回值类型,访问权限子类大于等于父类
super关键字
用于访问父类的成员
成员变量 成员方法 构造器
super.成员变量 super.成员方法 super.(参数1,参数2)
若子类在自己定义的构造方法中没有用super明确调用父类的构造方法,则在创建对对象时候首先自动执行父类的构造方法再执行自己定义的构造方法
final关键字
修饰变量:被final修饰的变量不可被改变
修饰方法:该方法不能被子类重写,但是可以被重载
修饰类:修饰的类不能被继承
多态
指的是同一个方法被调用,由于对象的不同可能会有不同的行为
要点
1 多态是方法的多态,而不是属性的多态
2 存在有三个必要条件:继承 方法重写 父类引用指向子类对象
public class TestExtend{
public static void main(String[] args){
Animal a = new Animal();
animalCry(a);
animalCry(new Dog);//这里就是多态
}
}
static void animalCry(Animal a){ a.shout() }
class Animal{
public void shout(){
System.out.println("叫了一声");
}
}
class Dog{
public void shout(){
System.out.println("汪汪汪");
}
}