这里写自定义目录标题
封装:隐藏类的内部实现,提供公有的访问的方法。
步骤:修饰属性访问修饰符→提供公有的set get方法→在set get方法中增加判断。
其中 boolean类型的变量的get和set方法为:
private boolean flag;
public boolean isFlag(){
return flag;
}
public void setFlag(boolean flag){
this.flag = flag;
}
继承:子类与父类是is…a关系,继承的关键字为extends
子类继承父类的:
1.如果父类的属性和方法访问修饰符是public protected,子类就继承父类的这些属性和方法。
2.如果父类的属性和方法访问修饰符是默认的,当子类和父类在同一个包中,子类继承父类的属性和方法。
3.构造方法不能被继承,构造方法可以被调用。
多态:同一个引用类型,使用不同的实例而执行不同操作。
多态的两种使用方式:
1.父类当做方法的参数:
public void cure(Pet pet){
pet.toHospital();
}
2.父类当做方法的返回值:
public Pet give(String type){
if(type.equals(“dog”)){
return new Dog();
}else{
return new Penguin();
}
}
子类对象赋值给父类类型的变量称之为向上转型。
父类类型的变量调用方法是:子类继承父类的方法,或者是子类冲写父类的方法。
父类类型的变量想调用子类中特有的方法需要向下转型,需要使用 instanceOf关键字进行类型判断。