本文目录一览:
java描述一下什么是多态?
/*1.要有继承关系 2.子类要重写父类的方法 3.父类的引用指向子类的对象或者借口的引用指向遵从借口的类对象*/
//父类
class Animal{
int num = 5;
static int age = 2;
public void eat(){
System.out.println("动物在吃东西");
}
public static void sleep(){
System.out.println("动物在睡大觉");
}
public void run(){
System.out.println("动物在乱蹿");
}
}
//子类 sloth 树獭
class sloth extends animal{
int num = 10;
static int age =8;
String name="sloth";
public void eat(){
system.out.println("树獭进餐");
}
public static void sleep(){
system.out.println("有事没事就睡一觉");
}
public void jump(){
system.out.println("跳跃 不存在的");
}
}
//打印结果
class demo1{
public static void main(String[] args){
Animal ani = new sloth();
ani.eat();
ani.sleep();
ani.run();
System.out.println(ani.num);
System.out.println(sni.age);
}
}
//纯手打 多敲几遍就明白了 看着结果琢磨琢磨 或者上CSDN 狠全面的 都是大佬
在java中什么是多态。。 什么时候用多态
多态,顾名思义就是具有很多种形态,你可以联想到一种物质有很多种状态、形态,例如水,有气态、液态、固态,然后回归到编程,假如我们需要编程来实现对水的质量进行计算,在假设质量=密度*体积。可是怎么样才能把所有形态、状态的水都能计算出来,这是就要分不同种情况了,假设是气态,这样就跟压强(假设的)有关系了,所以成员方法参数为压强、体积、密度。而液态的就有可能跟温度(假设的)关系比较大,所以成员方法中的参数为温度、体积、密度。而固态跟温度和压强(假设的啦)关系不大,那么成员方法的参数为体积、密度。这样计算水的质量就有3种计算公式了,虽然是不同的3条公式,但是他们殊途同归,最后都是求质量。
综上,多态就是为了解决同一问题的不同解决方式。使用前提就是一个对象(类)有多种情况,然后分情况进行解决。
java中多态是什么意思?
什么是多态
1.面向对象的三大特性:封装、继承、多态。从一定角度来看,封装和继承几乎都是为多态而准备的。这是我们最后一个概念,也是最重要的知识点。
2.多态的定义:指允许不同类的对象对同一消息做出响应。即同一消息可以根据发送对象的不同而采用多种不同的行为方式。(发送消息就是函数调用)
3.实现多态的技术称为:动态绑定(dynamic binding),是指在执行期间判断所引用对象的实际类型,根据其实际的类型调用其相应的方法。
4.多态的作用:消除类型之间的耦合关系。
5.现实中,关于多态的例子不胜枚举。
下面是多态存在的三个必要条件,要求大家做梦时都能背出来!
多态存在的三个必要条件
一、要有继承;
二、要有重写;
三、父类引用指向子类对象。
多态的好处:
1.可替换性(substitutability)。多态对已存在代码具有可替换性。例如,多态对圆Circle类工作,对其他任何圆形几何体,如圆环,也同样工作。
2.可扩充性(extensibility)。多态对代码具有可扩充性。增加新的子类不影响已存在类的多态性、继承性,以及其他特性的运行和操作。实际上新加子类更容易获得多态功能。例如,在实现了圆锥、半圆锥以及半球体的多态基础上,很容易增添球体类的多态性。
3.接口性(interface-ability)。多态是超类通过方法签名,向子类提供了一个共同接口,由子类来完善或者覆盖它而实现的。如图8.3 所示。图中超类Shape规定了两个实现多态的接口方法,computeArea()以及computeVolume()。子类,如Circle和Sphere为了实现多态,完善或者覆盖这两个接口方法。
4.灵活性(flexibility)。它在应用中体现了灵活多样的操作,提高了使用效率。
5.简化性(simplicity)。多态简化对应用软件的代码编写和修改过程,尤其在处理大量对象的运算和操作时,这个特点尤为突出和重要。
JAVA基础多态性~!!
1 多态包括方法的多态和对象的多态
2 方法的多态主要是指方法的重写和重载。
3 我在这里主要解释一下对象的多态:一个对象,多种形态。
4 对象多态的基础: 子类对象可以当做父类对象来看.
例如:Animal a= new Bird();
5 对象多台的核心定理:
a。 如果我们吧子类对象当做父类对象来看,那么我们就只能访问负累中已有定义的属性和方法(不能访问子类扩展的属性和方法)
b。 如果子类吧负累的方法覆盖了,在把子类对象当做负累对象来看,去调用该方法,调用的是覆盖之后的方法(子类中定义的方法)。
6 例如:Animal接口里面有一个eat ()方法
现在有俩个实现类 horse 和 tiger 类。这俩个类分别重写了eat()方法
现在我们new 俩个对象
如: Animal animal1= new horse(); animal1.eat();
调用的就是马的eat方法。执行结果是马吃草;
Animal animal2 = new tiger() ;animal2.eat();
这里调用的就是老虎的eat方法,执行结果就是老虎吃肉;
JAVA中的多态
Java中的多态主要指两方面:
1.方法的重载:根据相同的方法名和不同的参数形式,可以调用功能不同的方法。
2.方法的重写:子类中方法名和参数形式、返回值类型与父类一致,可以实现方法功能的重写。
子类重写的方法同名覆盖了父类中原来的方法,子类对象或上转型对象调用该方法时,调用的是子类中重写的方法。不同的子类中可以分别重写功能不同的方法。
用上转型对象调用该方法时,根据当时所控制的对象类型不同(为上转型对象赋值不同),可以实现不同的方法功能。
java中多态性什么意思?
多态性:顾名思义就是拥有“多种形态”的含义,是指属性或方法在子类中表现为多种形态。
在JAVA中有两种多态是指:运行时多态和编译时多态。多态性是面向对象的核心特征之一,类的多态性提供类中成员设计的灵活性和方法执行的多样性。
多态指允许不同类的对象对同一消息做出响应。即同一消息可以根据发送对象的不同而采用多种不同的行为方式。(发送消息就是函数调用)
实现多态的技术称为:动态绑定(dynamic binding),是指在执行期间判断所引用对象的实际类型,根据其实际的类型调用其相应的方法。
扩展资料:
多态的好处:
1、可替换性(substitutability)多态对已存在代码具有可替换性。例如,多态对圆Circle类工作,对其他任何圆形几何体,如圆环,也同样工作。
2、可扩充性(extensibility)多态对代码具有可扩充性。增加新的子类不影响已存在类的多态性、继承性,以及其他特性的运行和操作。实际上新加子类更容易获得多态功能。
3、接口性(interface-ability)多态是超类通过方法签名,向子类提供了一个共同接口,由子类来完善或者覆盖它而实现的。
4、灵活性(flexibility)它在应用中体现了灵活多样的操作,提高了使用效率。
5、简化性(simplicity)多态简化对应用软件的代码编写和修改过程,尤其在处理大量对象的运算和操作时,这个特点尤为突出和重要。
参考资料:百度百科-多态