在实际操作中,多态可以让我不用关心某个对象到底是什么具体类型,就可以使用该对象的某些方法,而这些方法通过一个抽象类或者接口来实现,多态就是提供父类调用子类代码的一个手段而已
abstract class Person
{
private String name;
private int age;
Person(String name,int age)
{
this.name = name;
this.age = age;
}
abstract void say();
}
class Student extends Person
{
Student(String name,int age)
{
super(name,age);
}
public void say()
{
System.out.println("I'am a Student");
}
}
class Teacher extends Person
{
private String profession;
Teacher(String name,int age,String profession)
{
super(name,age);
this.profession = profession;
}
public void say()
{
System.out.println("I'am a Teacher");
}
}
class School
{
private String schoolname;
private Person person;
School(String schoolname,Person person)
{
this.schoolname = schoolname;
this.person = person;
}
public void foundPerson()
{
person.say();
}
}
public class TestPolymoph
{
public static void main(String[] args)
{
Student studnet = new Student("lisi",21);
Teacher teacher = new Teacher("dudu",29,"maths");
School school1 = new School("changning",studnet);
School school2 = new School("changning",teacher);
school1.foundPerson();//I'am a Student
school2.foundPerson();//I'am a Teacher
}
}
School方法传递了抽象类Person,具体调用时是根据具体的实际实例化的对象调用对应的方法
分享到:
相关推荐
代码演示对java中多态的理解 从代码演示中更好的理解多态的作用
深入Java核心 Java中多态的实现机制
想要下载此文件,请先下载本人“java程序中的内存分配问题”,因为那个例子比较简单而且分析详细透彻,可以使你更容易理解,如果你对java程序执行过程中的内存分配有一定的了解,可以直接下载本文件
深入Java核心Java中多态的实现机制.pdf
java多态实现的课件,给那些需要的人 讲述了java多态的概念、分类、实现 综合案例讲解、总结多态的作用
深入Java核心 Java中多态的实现机制.docx
java多态、继承练习题,包含题目与答案,............................................................................................................
在Java中多态存在的必要条件是什么
Java开发之多态的具体应用,包含多态应用的实例和相应实例的代码。
主要java中接口,继承以及抽象等基础内容的实例,实初学者能刚好的理会多态的具体含义
多态的列子其中涉及到封装是java适应于java初学者学习和模仿,
java程序设计中,多态的实现和理解,通过代码演示java程序设计中,多态的实现和理解,通过代码演示
这边文章的编程代码:https://blog.csdn.net/qq_41086359/article/details/103650238 Java多态,面向对象编程题
Java多态的讲解
java的多态,是一个很重要的环节.但是要知道什么是多态!
关于java多态性和abstract修饰的使用 一个具体的实例 简单易懂
因此, 简单名称相同、特征签名也相同、但是方法返回值不同的两个方法可共存于同一个class文件中。 总结一下,讨论一个方法是否“相同”,这里涉及到了三个概念: 简单名称 方法特征签名 方法描述符