java学习笔记----测试多态的用法
2017-01-26 21:25
337 查看
java学习笔记(高琪版)
面向对象OOP
测试多态的用法
多态,是指程序最终状态是在程序运行时才被确定首先一个类需要被多个类所继承
这多个类相较于父类都有一定的改写才有意义(方法的重写)
新建对象时父类引用指向子类的对象
带入方法的对象必须是父类形式
先定义三个继承于一个父类的子类
package com.lyr.oop.polymorphism; /* * 测试多态的用法 */ public class Animal { String name; public void voice(){ System.out.println("动物的叫声"); } } class Cat extends Animal { public void voice(){ System.out.println("喵喵喵"); } public void Catch(){ System.out.println("抓住了"); } } class Dog extends Animal{ public void voice(){ System.out.println("汪汪汪"); } } class Pig extends Animal{ public void voice(){ System.out.println("哼哼哼"); } }
test类,新建父类对象即可,代码运行时才考虑到具体是什么对象
package com.lyr.oop.polymorphism; public class Test { public static void testAnimalVoice(Animal c){ c.voice(); if (c instanceof Cat ){ //了解instanceof的用法,放在多态中用可判断输入的具体对象是什么 ((Cat) c).Catch(); } } //下面是直接指定了该方法的输入对象,对象必须是Cat; /*public static void testAnimalVoice(Cat c){ c.voice(); } */ public static void main(String[]args){ Animal a = new Cat(); testAnimalVoice(a); Animal b = new Dog(); testAnimalVoice(b); Pig c = new Pig(); testAnimalVoice(c); } }
instanceof的用法,判断输入的对象是否为指定对象,放在多态的方法中;
如果需要调用这个子类对象特有并需要特殊执行的方法,则可以用。
相关文章推荐
- 数据连接部分通过测试源代码-----java学习笔记之4
- 软件测试学习笔记之三 JAVA编程技能入门级1
- java基础学习笔记第三天 this . static 的用法和值传递,引用传递
- java学习笔记5 - Spring MVC 整合Velocity及用法说明
- Java学习笔记之Formatter的用法详解
- Java学习笔记-Iterator迭代器(Ps.instanceof的用法)
- 黑马程序员 java学习笔记之一(java中this和super关键字的用法)
- Java学习笔记之Formatter的用法详解(输出格式化)
- Java学习笔记——this的用法
- Java学习笔记-Scanner和BufferedReader的区别和用法
- Java学习笔记---12.面向对象编程07-Java中的static关键字用法
- 多态Object类equals方法学习笔记ObjectDemo.java
- java学习笔记十二——多态
- Java与Flex学习笔记(16)---Red5流媒体服务器的安装与测试
- java学习笔记(五)----super用法,final用法,抽象类,接口
- Java 网络编程 学习笔记二 Socket 用法
- Java学习笔记(三)Map接口及其重要实现类的用法
- java学习笔记--StringBuilder的用法
- Java 编程思想(第四版)学习笔记(8)多态
- Java学习笔记之Pattern类的用法详解(正则表达式)