Java多态概述
多态
所谓多态,实际上就是一个对象的多种状态;
下面例子中,Tiger可以看做Tiger,也可以看做Animal
Cat 可以看做Cat,也可以看做Animal
Dog 可以看做Dog,也可以看做Animal
示例代码:
package com.java1995;
//创建一个Animal类
public class Animal {
public void showMe(){
System.out.println("我是动物");
}
}
package com.java1995;
//创建一个Tiger类,继承Animal类,并对其showMe()方法进行重写
public class Tiger extends Animal {
public void showMe(){
System.out.println("我是老虎");
}
}
package com.java1995;
//同上,Cat类,继承Animal类,重写方法
public class Cat extends Animal {
// public void showMe(){
// System.out.println("我是猫");
// }
}
package com.java1995;
//同上,Dog类,继承Animal类,重写方法
public class Dog extends Animal {
public void showMe(){
System.out.println("我是狗");
}
}
package com.java1995;
//创建测试类,演Java语言的多态性,Tiger,Cat,Dog类
public class Test {
public static void main(String [] args){
Animal a=new Animal();
a.showMe();
//创建Tiger类的两种方法
Tiger t=new Tiger(); //第一种
t.showMe();
Animal t2=new Tiger(); //第二种,Tiger属于Animal类,也属于Tiger类
t2.showMe();
Animal c=new Cat();
c.showMe();
Animal t3=new Tiger();
showMe(t3);
Test.showMe(t);
}
//创建一个showMe的静态方法,整合上面a.showMe(); ps:可不写
public static void showMe(Animal a){
a.showMe();
}
}
Java多态概述的更多相关文章
- java多态概述特点转型I
1 package face_09; 2 3 import com.sun.jdi.Method; 4 5 /* 6 * 对象的多态性. 7 * class 动物 8 * {} 9 * 10 * cl ...
- Java 面向对象概述原理: 多态、Object类,转型(8)
Java 面向对象概述原理: 多态.Object类,转型(8) http://docs.oracle.com/javase/tutorial/java/IandI/override.html Java ...
- 第1章 Java语言概述--HelloWorld--环境搭建
SE学什么 第1章 Java语言概述 第2章 基本语法 第3章 数组 第4章 面向对象编程(上) 第5章 面向对象编程(中) 第6章 面向对象编程(下) 第7章 异常处理 第8章 枚举类&注解 ...
- Java多线程-Java多线程概述
第一章 Java多线程概述 线程的启动 线程的暂停 线程的优先级 线程安全相关问题 1.1 进程与线程 进程:可以将运行在内存中的程序(如exe文件)理解为进程,进程是受操作系统管理的基本的运行单元. ...
- 【Java基础】Java 语言概述
Java 语言概述 主要应用场景 JavaEE.大数据.Android 开发方向. 基础知识概述 编程语言核心结构 变量.基本语法.分支.循环.数组.- Java 面向对象的核心逻辑 OOP.封装.继 ...
- Java Annotation概述
@(Java)[Annotation|Java] Java Annotation概述 用途 编译器的相关信息,如用于检测错误和一些警告 编译时和部署时的处理,如一些软件用于自动生成代码之类的 运行时处 ...
- 《java集合概述》
JAVA集合概述: Collection: |---List有序的:通过索引就可以精确的操作集合中的元素.元素是可以重复的. List提供了增删改查的动作. 增加add(element) add(in ...
- Java的概述以及语法
Java的语法分为标示符和数据类型 Java的概述: 一些手打的: long l = 12345; //隐式转换 int a = (int)121234567L; //强制转换 float f =12 ...
- Java 多态——与C++的比较
学习了Java和C++之后,由于长期不使用C++,而java的基础知识掌握不牢,现在已经搞不清java多态了.现在先来谈谈java多态,稍后有时间再更新C++的多态,并进行比较~ 一. Java的多态 ...
随机推荐
- vue中npm run dev运行项目不能自动打开浏览器! 以及 webstorm跑vue项目jshint一直提示错误问题的解决方法!
vue中npm run dev运行项目不能自动打开浏览器!以及 webstorm跑vue项目jshint一直提示错误问题的解决方法! 1.上个项目结束就很久没有使用vue了,最近打算用vue搭建自己的 ...
- thinkphp5报错
thinkPHP5配置nginx环境无法打开(require():open_basedirrestrictionineffect.File(/mnt/hgfs/ro (2018-07-19 22:05 ...
- 用友时空KSOA功能挖掘之zl_func函数
问题日常开发中,需要对界面进行控制,不符合条件时禁用某些功能菜单.例如[采购订单填制]界面,要实现供应商资质证书效期提醒功能,即近效期提醒,超效期禁止采购,如何实现呢? 分析使用KSOA新增加的zl_ ...
- hdu 6183 Color it (线段树 动态开点)
Do you like painting? Little D doesn't like painting, especially messy color paintings. Now Little B ...
- 【Revit API】创建工作集并将element加入工作集中
话不多说,直接上代码! public class WorkSetHelper { public void AddElementsToWorkSet(Document doc, List<Elem ...
- sql知识收集
在SQL Server里面有top关键字可以很方便的取出前N条记录,但是Oracle里面却没有top的使用,类似实现取出前N条记录的简单方法如下: 方法1:利用ROW_NUMBER函数 取出前5条记录 ...
- NOIP2017 列队——动态开点线段树
Description: Sylvia 是一个热爱学习的女♂孩子. 前段时间,Sylvia 参加了学校的军训.众所周知,军训的时候需要站方阵. Sylvia 所在的方阵中有n×m名学生,方阵的行数为 ...
- ES6学习(二)基础命令
一.Let 和 const 作用域的概念:在es5之前是有两个作用域,一个是全局作用域,另外一个是函数作用域,在es6中就多了这样一个块作用域.在这里let 和 const 就是传说中的块作用域,它 ...
- Nginx 连接限制和访问控制Nginx 连接限制和访问控制
Nginx 连接限制和访问控制 前言 Nginx自带的模块支持对并发请求数进行限制, 还有对请求来源进行限制.可以用来防止DDOS攻击.阅读本文须知道nginx的配置文件结构和语法. 连接限制 l ...
- 【Jenkins】安装插件
1.Jenkins主页面,点击[系统管理]-[管理插件] 2. 安装后的插件可以在[已安装]中进行查看