多态

所谓多态,实际上就是一个对象的多种状态;

下面例子中,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多态概述的更多相关文章

  1. java多态概述特点转型I

    1 package face_09; 2 3 import com.sun.jdi.Method; 4 5 /* 6 * 对象的多态性. 7 * class 动物 8 * {} 9 * 10 * cl ...

  2. Java 面向对象概述原理: 多态、Object类,转型(8)

    Java 面向对象概述原理: 多态.Object类,转型(8) http://docs.oracle.com/javase/tutorial/java/IandI/override.html Java ...

  3. 第1章 Java语言概述--HelloWorld--环境搭建

    SE学什么 第1章 Java语言概述 第2章 基本语法 第3章 数组 第4章 面向对象编程(上) 第5章 面向对象编程(中) 第6章 面向对象编程(下) 第7章 异常处理 第8章 枚举类&注解 ...

  4. Java多线程-Java多线程概述

    第一章 Java多线程概述 线程的启动 线程的暂停 线程的优先级 线程安全相关问题 1.1 进程与线程 进程:可以将运行在内存中的程序(如exe文件)理解为进程,进程是受操作系统管理的基本的运行单元. ...

  5. 【Java基础】Java 语言概述

    Java 语言概述 主要应用场景 JavaEE.大数据.Android 开发方向. 基础知识概述 编程语言核心结构 变量.基本语法.分支.循环.数组.- Java 面向对象的核心逻辑 OOP.封装.继 ...

  6. Java Annotation概述

    @(Java)[Annotation|Java] Java Annotation概述 用途 编译器的相关信息,如用于检测错误和一些警告 编译时和部署时的处理,如一些软件用于自动生成代码之类的 运行时处 ...

  7. 《java集合概述》

    JAVA集合概述: Collection: |---List有序的:通过索引就可以精确的操作集合中的元素.元素是可以重复的. List提供了增删改查的动作. 增加add(element) add(in ...

  8. Java的概述以及语法

    Java的语法分为标示符和数据类型 Java的概述: 一些手打的: long l = 12345; //隐式转换 int a = (int)121234567L; //强制转换 float f =12 ...

  9. Java 多态——与C++的比较

    学习了Java和C++之后,由于长期不使用C++,而java的基础知识掌握不牢,现在已经搞不清java多态了.现在先来谈谈java多态,稍后有时间再更新C++的多态,并进行比较~ 一. Java的多态 ...

随机推荐

  1. C语言入门:02.第一个C语言程序

    一.开发工具的选择(1)可以用来写代码的工具:记事本.UltraEdit.Vim.Xcode等(2)选择Xcode的原因:苹果官方提供的开发利器.简化开发过程.有高亮显示功能 (3)使用Xcode新建 ...

  2. 【转】Mysql事务,并发问题,锁机制

    转自:http://www.cnblogs.com/fidelQuan/p/4549068.html 1.什么是事务 事务是一条或多条数据库操作语句的组合,具备ACID,4个特点. 原子性:要不全部成 ...

  3. 基于Vue-cli 快速搭建项目

    Vue-cli可以快速帮助我们创建一个项目,这是官方给我们提供的脚手架.下面我说一下vue-cli的使用方法. 一.准备工作 在使用vue-cli时,首先需要安装nodejs,npm,其次需全局安装v ...

  4. 【模板】Kruskal

    int n, m; struct Edge { int u, v, w; }a[MAX_M]; // 令a关于w升序排列 int r[MAX_N]; // 并查集 int Find(int x) { ...

  5. Oil Skimming HDU - 4185(匹配板题)

    Oil Skimming Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Tota ...

  6. hdu 2586 How far away ?(LCA - Tarjan算法 离线 模板题)

    How far away ? Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)To ...

  7. Oracle 查看正在执行的SQL语句

    SELECT A.MACHINE, username,a.SID,a.SERIAL#, sql_text,LOGON_TIME from v$session a, v$sql b where a.sq ...

  8. 【题解】 Test 买水的ACX(套路)

    题目描述: ACX在××信竞组学会信息竞赛,但是他的同学都很巨,于是要他去买水,结果来到某个买水的商店(奇奇怪怪的商店). 一天,ACX买了 N 个容量可以认为是无限大的瓶子,初始时每个瓶子里有 1  ...

  9. HGOI 20181028 题解

    HGOI 20181028(复赛备考) /* 真是暴力的一天,最后一题MLE?由于数组开得太大了!!! 270滚粗 考场上好像智商高了很多?!(假的) */ sol:暴力求解,然后没有数据范围吐槽一下 ...

  10. maven 整合支付宝,导入alipay-sdk-java包到本地仓库

    maven 整合支付宝,导入alipay-sdk-java包到本地仓库   1.环境变量添加: MAVEN_HOME:(maven位置) M2_HOME:(maven位置) PATH:%M2_HOME ...