`
阅读更多
在实际操作中,多态可以让我不用关心某个对象到底是什么具体类型,就可以使用该对象的某些方法,而这些方法通过一个抽象类或者接口来实现,多态就是提供父类调用子类代码的一个手段而已
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中多态的实现机制.pdf

    在深入探讨Java中多态的实现机制之前,我们需要明确多态的概念及其在编程语言中...通过实践和对文档内容的深入挖掘,我们可以更好地掌握Java多态的实现机制,并在实际开发中有效地利用多态性来编写灵活、可扩展的代码。

    java中多态实现

    java多态实现的课件,给那些需要的人 讲述了java多态的概念、分类、实现 综合案例讲解、总结多态的作用

    java多态练习题

    java多态、继承练习题,包含题目与答案,............................................................................................................

    在Java中多态存在的必要条件是什么.txt

    在Java中多态存在的必要条件是什么

    从虚拟机指令执行的角度分析JAVA中多态的实现原理.docx

    运行时多态是Java中多态的主要体现,它涉及到方法的动态绑定。当使用父类引用调用子类对象的方法时,JVM会在运行时根据实际对象的类型决定调用哪个方法。这依赖于Java的虚方法调用机制,即如果一个方法在子类中被...

    Java中多态的具体应用代码

    在Java编程语言中,多态性(Polymorphism)是面向对象编程的三大特性之一,另外两个是封装和继承。多态性允许我们使用一个接口来代表多种类型的对象,这使得代码更加灵活、可扩展且易于维护。在这个主题中,我们将...

    深入Java核心 Java中多态的实现机制.docx

    Java中的多态行为主要包括方法的重写(Override)和重载(Overload)。 首先,多态的实现机制基于Java的动态绑定(Dynamic Binding)。在Java中,当一个基类引用指向一个派生类对象,并调用方法时,实际执行的是...

    java中多态的使用实例

    在Java编程语言中,多态性(Polymorphism)是面向对象编程的三大特性之一,其余两者为封装和继承。多态性允许我们使用一个通用的接口来处理不同类型的对象,使得代码更具灵活性和可扩展性。这个特性使得程序在设计...

    C++和Java多态的区别

    ### C++和Java多态的区别 #### 一、概述 多态是面向对象编程语言中的一个核心特性,它允许程序员能够使用基类的指针或引用指向派生类的对象,并在运行时根据对象的实际类型来选择合适的方法进行调用。这一特性增强...

    北大青鸟javaOOP多态Ch03作业全集.rar

    这个"北大青鸟javaOOP多态Ch03作业全集"中的案例可能涵盖了以上提到的各个知识点,包括如何声明和使用多态,以及在实际编程中如何解决多态带来的问题。通过完成这些作业,学习者可以巩固理论知识,提升编程实践能力...

    多态表现(java)

    多态的列子其中涉及到封装是java适应于java初学者学习和模仿,

    Java多态,面向对象编程题demo.zip

    Java多态是面向对象编程中的一个核心概念,它允许我们以一种统一的方式处理不同类型的对象。在Java中,多态性主要体现在方法的重写(Override)和重载(Overload)。通过多态,我们可以编写出更加灵活、可扩展的代码...

    java多态代码

    java程序设计中,多态的实现和理解,通过代码演示java程序设计中,多态的实现和理解,通过代码演示

    java多态性练习

    Java多态性是面向对象编程中的一个重要特性,它允许我们使用父类引用指向子类对象,从而实现一种灵活的代码设计。在这个“java多态性练习”中,我们将深入探讨多态性的概念、抽象类(abstract class)以及它们在实际...

Global site tag (gtag.js) - Google Analytics