面向对象的第三个特征----多态I
来源:互联网 发布:共轭矩阵 编辑:程序博客网 时间:2024/06/05 09:06
/* 多态: 某一种事物的多种存在形态。 class 动物 {} class 猫 extends 动物 {} class 狗 extends 动物 {} 一个猫对象,存在了多种形态: 动物 x = new 猫();//一个对象,两种形态。 父类创建的,指向了子类的对象。 猫这类事物,既具备了猫的形态,又具备了动物的形态, 这就是对象的多态性。 简单说,就是一个对象对应着不同类型。 多态在代码中的体现: 父类或者接口的引用指向了子类的对象。 多态的好处: 提高了代码的拓展性,前期定义的代码可以使用后期的内容。 多态的弊端: 前期定义的内容不能调用后期子类的特有内容。 多态的前提: 1,必须有关系,继承,实现。 2,要有覆盖。 */abstract class Animal{ abstract void eat();}class Dog extends Animal{ public void eat() { System.out.println("啃骨头"); }}class Cat extends Animal{ public void eat() { System.out.println("吃鱼"); } public void CatchMouse() { System.out.println("抓老鼠"); }}public class DuoTaiDemo { public static void main(String[] args) {// Cat c = new Cat();// Dog d = new Dog();// c.eat();// d.eat();// method(new Cat());// method(new Dog()); Animal a = new Cat();//自动类型提升,猫对象提升为动物类型。 a.eat();//但是会造成猫对象的特有功能无法被访问。 //其作用就是限制对特有功能的访问。 //专业上讲:向上转型。 //如果还想使用猫的特有功能。 //可以将对象进行向下转型。 Cat c = (Cat)a;//向下转型的目的就是为了调用特有方法。 c.CatchMouse(); } public static void method(Animal a) { a.eat(); }}
阅读全文
0 0
- 面向对象的第三个特征----多态I
- 面向对象的第一个特征:封装I
- 面向对象第三个特征----多态II(类型判断)
- 面向对象第三个特征----多态III(特点)
- java基础之面向对象的第三个特征——多态
- 再次理解面向对象的第三大特征------多态
- 面向对象的第二个特征----继承I(单继承与多重继承)
- 面向对象的特征--多态
- 面向对象的特征
- 面向对象的特征
- 面向对象的特征
- 面向对象的特征
- 面向对象的特征
- 面向对象的特征
- 面向对象的特征
- 面向对象的特征
- 面向对象的特征
- 面向对象的特征
- Java中的策略模式
- mysql中主外键关系
- 山东省第八届ACM程序设计竞赛----其中七道题的题解
- SpringMVC源码分析(二)之请求如何转发到对应的Controller
- 有些arp请求报文中为什么会有目的mac地址(不使用广播地址)
- 面向对象的第三个特征----多态I
- sqli-labs学习记录(二)
- 1038. 统计同成绩学生(20)
- POJ 2406
- python之变量与运算符
- hiho 1601 背包DP乱搞 [Offer收割]编程练习赛29 Problem C 最大得分
- 要注意int的数字范围
- 解决字典中的值是列表的问题
- LeetCode #105