黑马程序员---多态的理解和应用
来源:互联网 发布:java action 对应哪个 编辑:程序博客网 时间:2024/05/24 15:35
----------------------ASP.Net+Unity开发 Net培训 期待与您交流! ----------------------
前言:
之前学过一点儿Java,但对多态的理解和应用知之甚少,学习了毕老师的视频之后,让我对多态有了与之前不一样的理解和体会,让我发现Java语言的好处和奥妙。
概念:
多态:某一事物存在的多种表现形态。
理解:
1、体现:父类的引用指向自己的子类对象,也可以接收自己的子类对象。
2、前提:必须是类与类之间有关系。
3、好处:提高了程序的可扩展性。
4、弊处:只能使用父类的引用访问父类中的成员。
自我理解:
通过老师的各举例,我发现生活中到处都是例子,发现各种语言其实就是描述生活、解决生活中的问题、方便生活用的。再讲到多态上来,多态我认为是为了方便生活、编程实现而出现的,当一个事物出现与之前的事物相似,为了避免总改动之前的事物的代码,要将代码设计时更加的合理,方便以后的使用。
代码:
class DuoTai {public static void main(String[] args) {Animal a=new Cat();//多态的表现 类型进行了提升(向上提升)a.eat();Cat c=(Cat)a;//向下转型c.catchMouse();Animal b=new Dog();//多态的表现 类型进行了提升(向上提升)b.eat();Dog d=(Dog)b;//向下转型d.houseKeeping();}}abstract class Animal //Animal类 抽象类 因为函数eat() 吃什么是不确定的 函数抽象 类也抽象{abstract void eat();}class Cat extends Animal //Cat类继承了Animal类{public void eat() //吃鱼方法{ System.out.println("吃鱼");}public void catchMouse() //抓老鼠方法{ System.out.println("抓老鼠");}}class Dog extends Animal //Cat类继承了Animal类{public void eat() //吃骨头方法{ System.out.println("吃骨头");}public void houseKeeping() //看家方法{ System.out.println("看家");}}运行结果:
吃鱼
抓老鼠
吃骨头
看家
0 0
- 黑马程序员---多态的理解和应用
- 黑马程序员 多线程的理解和应用
- 黑马程序员 多态和多态的应用
- 黑马程序员--反射的理解应用
- 黑马程序员_多态的理解
- 黑马程序员-多态的理解
- 黑马程序员------多态的理解概述
- 黑马程序员-java多态的理解
- 黑马程序员---Socket和GUI的应用
- 黑马程序员--表格的应用和布局
- 黑马程序员_BufferedReader和BufferedWriter的应用
- 黑马程序员_Date和DateForm的应用
- 黑马程序员--String和StringBuffer的应用
- 黑马程序员****OC语言基础****多态的概念和理解
- 黑马程序员——反射的理解与应用
- 黑马程序员 贪心法则的应用及简单理解
- 黑马程序员_JAVA基础_多态的理解
- 黑马程序员Java中对多态的理解
- JQuery解析XML数据的几个例子
- 深入理解Java内存模型(六)——final
- iOS学习系列 - 扩展机制category与associative
- java操作excel
- java中hibernate的Serializable解析(转载)
- 黑马程序员---多态的理解和应用
- MyEclipse JSP页面中文字符不能保存
- C++ limits头文件的用法(numeric_limits)
- HashMap 与 HashTable的区别
- StringBuffer使用append提示String concatenation as argument to 'StringBuffer.append()' call
- 递归打印级联目录--仿Windows的Tree命令
- 离别之后的眼泪
- 深入理解Java内存模型(一)——基础
- hibernate 通过annotaion 内联的 一对多关系 取出树形的导航