面向对象第三个特征----多态II(类型判断)
来源:互联网 发布:java 自行车 编辑:程序博客网 时间:2024/06/11 03:22
abstract class Animal{ abstract void eat();}class Dog extends Animal{ public void eat() { System.out.println("啃骨头"); } public void play() { 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(); method(new Cat()); } public static void method(Animal a) { a.eat(); //如果传进来一个animal 我想对animal的子类调用其特有方法。 //之前所说是通过向下转型。即: Cat c = (Cat)a; c.CatchMouse(); //然而animal的子类有很多,传进来的不一定是cat //因此,我们需要对其进行类型判断。引入关键字:instanceof if(a instanceof Dog)//通常在对象向下转型之前进行益于健壮性的判断。 { Dog d = (Dog)a; d.play(); } }}
阅读全文
0 0
- 面向对象第三个特征----多态II(类型判断)
- 面向对象第三个特征----多态III(特点)
- 面向对象的第三个特征----多态I
- 面向对象的第一个特征:封装II
- 面向对象第二个特征----继承II(什么时候使用继承)
- java基础之面向对象的第三个特征——多态
- 再次理解面向对象的第三大特征------多态
- 面向对象特征-多态
- 面向对象的特征--多态
- 面向对象特征(oop)
- 课时8第三章:面向对象编程-OOP-特征1
- 第三十一、Java面向对象三大特征之多态
- 面向对象之多态--判断类型
- 面向对象--利用toString做类型判断
- 面向对象三大特征:继承、封装、多态 (泛型)
- Java面向对象(二)面向对象的特征 --- 封装 、 继承、 多态
- 面向对象第三章 多态
- 面向对象的第二个特征----继承I(单继承与多重继承)
- ffmpeg 实现对图片逐帧的处理
- selector
- 数字全排列返回list的list:java实现
- 一个BS框架工程搭建笔记
- strcpy时如何有效的在堆区申请内存
- 面向对象第三个特征----多态II(类型判断)
- 【POJ 3436 ACM Computer Factory】网络流 & 拆点 & Dinic
- Java IO流分析整理
- 数据的处理
- 逻辑思维3
- java中的Object与异常
- NIO
- Go语言打印调用堆栈
- 大米互助