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();
}
}

时间: 2024-10-07 06:13:29

Java多态概述的相关文章

Java继承概述 以及Java继承案例和继承的好处

Java继承概述 1.多个类中存在相同属性和行为时,将这些内容抽取到单独一个类中,那么多个类无需再定义这些相同属性和行为,只要继承那个类即可. 2.在Java中通过extends关键字可以实现类与类的继承. 例如:class 子类名 extends 父类名 {} 3.单独的这个类称为父类,基类或者超类:这多个类可以称为子类或者派生类. 4.有了继承以后,我们定义一个类的时候,可以在一个已经存在的类的基础上,还可以定义自己的新成员. --------------------------------

Java多线程-Java多线程概述

第一章 Java多线程概述 线程的启动 线程的暂停 线程的优先级 线程安全相关问题 1.1 进程与线程 进程:可以将运行在内存中的程序(如exe文件)理解为进程,进程是受操作系统管理的基本的运行单元. 线程:可以理解为进程中独立运行的子任务.如果QQ.exe运行时的好友视频线程.下载文件线程.数据传输线程.发送消息线程等. 使用多线程可以更好的利用计算机的资源如CPU.线程被调用的时机是随机的. 1.2 Java多线程实现方式 1.2.1 继承Thread类 public class Threa

Java从0到全栈-Java语言概述与开发环境搭建

Java从0到全栈-Java语言概述与开发环境搭建 Java从0到全栈 Java语言概述 Java发展历史 Java之父-James Golsing 起源 1991年,SUN(Standford University Network)公司的James Golsing领导的工程师小组想要开发一种用于像电视机.微波炉.电话这样的消费类电子产品的小型计算机语言,该产品的特点是由于不同的厂商选择不同的CPU和操作系统,因此要求该语言不能和特定的体系结构绑定在一起,也就是跨平台的.最初将这个语言命名为Oa

Java多态小总结

多态,又可以称为动态绑定,即在运行时确定类型,比如: 1 class A { 2 void draw(){ 3 //输出“A” 4 } 5 } 6 class B { 7 void draw(){ 8 //输出“B” 9 } 10 11 } 这种关系里,如果调用A a = new B(); 此时,被称为向上转型,a的类型可能在很早之前被生命,而在这时候被明确指明是其子类型, 我们如果要去调用draw()方法的时候,会调用输出“B”,这样,便是Java中的“多态”.我们称其为“向上转型”. 但是,

JAVA多态示例

这多态,我觉得是最利害的.在开发大型程序中. 但,也是需要经过足够多的实践经验才能随心利用的. class Quadrangle{ private Quadrangle[] qtest = new Quadrangle[6]; private int nextIndex = 0; public void draw(Quadrangle q){ if(nextIndex < qtest.length){ qtest[nextIndex] = q; System.out.println(nextIn

Java IO 概述

原文链接作者: Jakob Jenkov   译者: 李璟([email protected])  校对:方腾飞 在这一小节,我会试着给出Java IO(java.io)包下所有类的概述.更具体地说,我会根据类的用途对类进行分组.这个分组将会使你在未来的工作中,进行类的用途判定时,或者是为某个特定用途选择类时变得更加容易. 输入和输出 – 数据源和目标媒介 术语“输入”和“输出”有时候会有一点让人疑惑.一个应用程序的输入往往是另外一个应用程序的输出.那么OutputStream流到底是一个输出到

java多态讲解

JAVA多态 一.相关的类结构 class A ...{ //create by danielinbiti public String show(D obj)...{ return ("A and D"); } public String show(A obj)...{ return ("A and A"); } } class B extends A...{ public String show(B obj)...{ return ("B and B&q

Java多态特性:重载和覆写的比较

Java重载: 在同一个类中 方法具有相同的名字,相同或不同的返回值,但参数不同的多个方法(参数个数或参数类型) public class MethoDemo{ public static void main(String args[]){ int one = add(10,20) ; // 调用整型的加法操作 float two = add(10.3f,13.3f) ; // 调用浮点数的加法操作 int three = add(10,20,30) ; // 调用有三个参数的加法操作 Syst

[JAVA_开课吧资源]第一周 Java语言概述、Java语言基础

主题一 Java语言概述 » JDK介绍及其基本组件 Sun公司利用Java开发工具箱(Java Development Toolkit ,JDK)发布Java的各个版本.JDK由开发和测试Java程序的独立程序集组成,它们都从命令行调用. [请点击查看更多内容 转自51CTO.com] » 使用CMD开发运行Java程序 代码文件的拓展名必须为.java,并且文件名应该与类的类名完全相同.编译一个程序是指使用编译器将源代码翻译成java字节码.下面的命令用来编译源代码文件welcome.jav