在实际操作中,多态可以让我不用关心某个对象到底是什么具体类型,就可以使用该对象的某些方法,而这些方法通过一个抽象类或者接口来实现,多态就是提供父类调用子类代码的一个手段而已
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 中,多态可以分为两种:编译时多态和运行时...
### 深入Java核心:Java中多态的实现机制 多态性是面向对象编程中的一个重要概念,它使得程序代码具有高度的灵活性和可扩展性。本文将围绕Java中的多态实现机制展开讨论,包括多态的基本概念、实现原理以及具体的...
在深入探讨Java中多态的实现机制之前,我们需要明确多态的概念及其在编程语言中...通过实践和对文档内容的深入挖掘,我们可以更好地掌握Java多态的实现机制,并在实际开发中有效地利用多态性来编写灵活、可扩展的代码。
java多态实现的课件,给那些需要的人 讲述了java多态的概念、分类、实现 综合案例讲解、总结多态的作用
java多态、继承练习题,包含题目与答案,............................................................................................................
在Java中多态存在的必要条件是什么
运行时多态是Java中多态的主要体现,它涉及到方法的动态绑定。当使用父类引用调用子类对象的方法时,JVM会在运行时根据实际对象的类型决定调用哪个方法。这依赖于Java的虚方法调用机制,即如果一个方法在子类中被...
在Java编程语言中,多态性(Polymorphism)是面向对象编程的三大特性之一,另外两个是封装和继承。多态性允许我们使用一个接口来代表多种类型的对象,这使得代码更加灵活、可扩展且易于维护。在这个主题中,我们将...
Java中的多态行为主要包括方法的重写(Override)和重载(Overload)。 首先,多态的实现机制基于Java的动态绑定(Dynamic Binding)。在Java中,当一个基类引用指向一个派生类对象,并调用方法时,实际执行的是...
在Java编程语言中,多态性(Polymorphism)是面向对象编程的三大特性之一,其余两者为封装和继承。多态性允许我们使用一个通用的接口来处理不同类型的对象,使得代码更具灵活性和可扩展性。这个特性使得程序在设计...
### C++和Java多态的区别 #### 一、概述 多态是面向对象编程语言中的一个核心特性,它允许程序员能够使用基类的指针或引用指向派生类的对象,并在运行时根据对象的实际类型来选择合适的方法进行调用。这一特性增强...
这个"北大青鸟javaOOP多态Ch03作业全集"中的案例可能涵盖了以上提到的各个知识点,包括如何声明和使用多态,以及在实际编程中如何解决多态带来的问题。通过完成这些作业,学习者可以巩固理论知识,提升编程实践能力...
多态的列子其中涉及到封装是java适应于java初学者学习和模仿,
Java多态是面向对象编程中的一个核心概念,它允许我们以一种统一的方式处理不同类型的对象。在Java中,多态性主要体现在方法的重写(Override)和重载(Overload)。通过多态,我们可以编写出更加灵活、可扩展的代码...
java程序设计中,多态的实现和理解,通过代码演示java程序设计中,多态的实现和理解,通过代码演示
Java多态性是面向对象编程中的一个重要特性,它允许我们使用父类引用指向子类对象,从而实现一种灵活的代码设计。在这个“java多态性练习”中,我们将深入探讨多态性的概念、抽象类(abstract class)以及它们在实际...