您的位置:首页 > 编程语言 > Java开发

javaoop——笔记(第三章)

2018-03-21 17:49 155 查看
第一节:多态概述 同一个实现接口,使用不同的实例而执行不同的操作1、多态指对象的多种形态:引用多态与方法多态 注意:A:继承是多态的实现基础B:方法重写也是多态的体现
2、引用多态 A:父类的引用可以指向本类的对象:父类 对象名 = new 父类(); B:父类的引用可以指向子类的对象:父类 对象名 = new 子类();——多态的体现注意:该对象调用的方法是从父类继承或子类重写的方法,并且会丢失子类特有的方法。 注意: A:子类的引用不可以指向父类的对象 B:B例的话,父类对象不能直接调用子类的独有方法(只能访问父类继承给子类的东西) 3、方法多态 A:创建本类对象时,调用的方法为本类方法 B:创建子类对象时,调用的方法为子类重写的方法或者继承的方法 public void feed(Pet pet){
pet.eat(); //传入类的类型 执行相应类的eat方法
}
public static void main(String[] args) {
Master master = new Master();
Pet pet = new Dog("旺财","金毛"); // 将dog向上转型
master.feed(pet); //将转型后的pet(dog)传入feed方法 这时pet已经是dog类
}

————第二节:引用类型转化引用类型转换:1、向上类型转换(隐式/自动类型转换),是小类型到大类型的转换。如:Dog dog=new Dog();Animal animal=dog;//正确,自动类型提升,向上类型转换转换后子类可以使用父类所有方法 但是会丢失子类自己的方法
2、向下类型转换(强制类型转换),是大类型到小类型的转换(存在风险,溢出)(还原子类的真实面目)
:Pet pet = new Dog();Dog dog=(Dog) pet ; //向下类型转换 转换后可执行dog类其他的方法
instanceof 运算符
dog instanceof Dog (dog对象如果属于Dog类型返回ture) 判断真实指向什么类型
软件使用技巧:1、子类方法名点中——Ctrl+1——可以将所有抽象方法补全。
2、Ctrl+1——修改类名,连着文件名一起修改。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: