`
hellowuyao
  • 浏览: 10120 次
  • 性别: Icon_minigender_1
  • 来自: 北京市
最近访客 更多访客>>
社区版块
存档分类
最新评论

java基础特性-多态

阅读更多

多态

 

一、概念:

不同方法名中的不同实现。

不同实现的有两种表现形式:重写(overwrite)和重载(overload)。

 

1.重写(overriding):在有继承关系的两个类中,子类继承了父类的方法,当子类对象实例赋值给父类对象引用时,通过父类调用方法时,是调用的子类的方法,这种方式叫子类覆盖/重写了父类方法,也叫动态链接或者动态方法调用。

 

总结:因此通过父类的引用不同子类中的重写的方法而实现不同的行为,则实现了多态性。

 

例子:

class Father{
        public void show(){
            System.out.println('这是父类执行的方法');
        }
}

class ChildA extends Father{
       public void show(){
            System.out.println('这是子类A执行的方法');
       }
}

class ChildB extends Father{
       public void show(){
            System.out.println('这是子类B执行的方法');
       }
}

class Test{
      public static void main(String[] args){
             Father a = new ChildA();
             Father b = new ChildB();
             a.show();
             b.show();
      }
}

 

控制台输出:

这是子类A执行的方法

这是子类B执行的方法

 

2.重载(overloading):在同一类中,两个或两个以上一样的方法名,但是不同的参数或者返回类型。

 

总结:通过该类实例调用同一样方法名不同参数的方式实现了不同行为,则实现了多态性。

 

例子:

class Test {
        public void show(String str){
                 System.out.println("字符串参数:"+str);
        }

        public void show(int a,int b){
                 System.out.println("数字型参数:"+a+","+b);
        }

        public static void main(String[] args){
                 Test t = new Test();
                 t.show("helloworld");
                 t.show(1,2);
        }
}

 

控制台输出:

字符串参数:helloworld

数字型参数:1,2

 

 

分享到:
评论

相关推荐

    Java零基础-多态.md

    ### Java零基础-多态 #### 内容概要 本文旨在深入浅出地介绍Java中的多态(Polymorphism)这一核心概念及其具体应用。读者不仅能够理解多态的基本含义,还能掌握如何在实际编程中运用多态,提高代码的灵活性和可...

    Java-多态--学习笔记.docx

    Java中的多态性是面向对象编程的一个核心特性,它允许我们设计更加灵活和可扩展的代码。在Java中,多态性(Polymorphism)主要体现在两个方面:方法的重写(Overriding)和接口的实现(Interface Implementation)。...

    java面向对象-多态.docx

    进行本实验之前,需要具备一定的Java基础知识,包括但不限于: - 变量、数据类型和运算符的基础知识。 - 控制流语句(如if、for、while等)的使用。 - 类和对象的概念,包括类的定义、对象的创建等。 - 继承和封装的...

    java实验报告(2)-多态和继承

    **Java实验报告(2)-多态和继承** 在Java编程语言中,多态和继承是面向对象设计的核心概念,它们极大地增强了代码的灵活性、可重用性和可扩展性。本实验报告将深入探讨这两个关键特性,并通过具体的实例来演示它们...

    java基础教程----精华版

    这个"java基础教程----精华版"显然是一份精心整理的资料,旨在帮助初学者快速掌握Java编程的基础知识。下面将详细介绍Java语言的核心概念和关键知识点。 1. **Java语法基础**: - **变量**:在Java中,变量是存储...

    290.288.JAVA基础教程_面向对象(中)-多态练习:调用方法和属性(290).rar

    在这个"290.288.JAVA基础教程_面向对象(中)-多态练习:调用方法和属性(290)"的教程中,我们将深入探讨Java中的多态性,这是面向对象编程中的一个重要概念。多态性允许我们使用一个类的引用来调用子类的方法和属性,...

    【IT十八掌徐培成】Java基础第06天-03.多态-类多态-接口多态-同名属性问题.zip

    在Java中,多态性(Polymorphism)是面向对象编程的三大特性之一,另外两个是封装和继承。多态性使得代码更加灵活,能够处理不同类型的对象,提高代码的复用性。 在Java中,多态分为类多态和接口多态。类多态主要...

    java入门基础-继承及多态

    ### Java入门基础:继承及多态 #### 一、继承 继承是面向对象编程(OOP)的一个核心概念,它允许创建一个新类(称为子类或派生类),该类继承了现有类(称为父类或基类)的特征。在Java中,一个类可以从另一个类继承...

    java 三大特性--封装、继承和多态理解

    Java编程语言以其强大的功能和广泛的应用而闻名,其中三大特性——封装、继承和多态是其核心概念,对于理解和编写高效、可维护的代码至关重要。 **封装**是面向对象编程的基础,它涉及到将数据(属性)和操作这些...

    java学习资料-Java继承和多态

    Java 继承和多态是面向对象...综上所述,Java的继承和多态机制以及封装原则是构建面向对象软件的基础,它们使得代码更加模块化、易于维护和扩展。通过学习和熟练运用这些概念,开发者可以设计出高效、可复用的代码。

    java基础_多态

    在Java编程语言中,多态性(Polymorphism)是面向对象编程的三大特性之一,另外两个是封装和继承。多态性允许我们使用一个接口来代表多种不同的类,这使得代码更加灵活,易于扩展。它主要体现在方法的多态和对象的...

    java基础ppt--传智播客的内容

    这份"java基础ppt--传智播客的内容"涵盖了Java学习的核心知识点,旨在帮助初学者建立坚实的编程基础。 1. **Java前奏**: 在Java的初步学习阶段,会介绍Java的历史、特点以及与其他编程语言的区别。此外,还会讲解...

    JAVA编程基础-06面向对象高级特性-zhouxl.pdf

    ### JAVA编程基础——面向对象高级特性 #### 第六章 面向对象高级特性 本章节将详细介绍Java中面向对象的高级特性,包括类的继承、封装、多态、抽象类、接口以及内部类等内容。通过学习这些概念,读者能够更好地...

    JAVA基础--复习笔记.pdf

    Java是一种广泛使用的面向对象的编程语言,由Sun Microsystems(现为Oracle公司的...这些只是Java基础知识的一部分,深入学习还包括反射、线程、网络编程、并发、垃圾回收等高级主题。持续学习和实践是掌握Java的关键。

    完整版优质java课件 Java基础入门教程 Java编程技术14 补充--对多态、抽象和接口的理解(共24页).ppt

    在Java编程中,多态性、抽象和接口是面向对象编程的三大核心概念,它们为代码的灵活性、可扩展性和复用性提供了基础。以下是对这些概念的详细解释: 1. **多态性(Polymorphism)**:多态性是面向对象编程的一大...

    多态的练习案例

    3. **接口多态**:Java等语言中的接口提供了另一种多态实现方式。通过实现一个或多个接口,类声明了它支持哪些方法,这使得任何实现了该接口的类都可以被接口类型的变量引用。接口多态强调的是行为的一致性,而不是...

    完整版Java全套入门培训课件 Java基础 04-继承上(共8页).rar

    综上所述,"Java基础 04-继承上"的课程将涵盖这些关键点,帮助初学者理解如何在Java中使用继承来构建类之间的关系,以及如何利用多态和接口来增强代码的灵活性。这个8页的PPTX文件很可能会深入探讨这些概念,并通过...

    java基础--3.面向对象-1

    以上只是Java面向对象编程的基础知识点,实际开发中,还需要掌握更多的高级特性和设计模式,如泛型、集合框架、异常处理、并发编程、IO流、网络编程等,这些都是成为一名熟练Java开发者不可或缺的部分。学习Java面向...

    完整版Java全套入门培训课件 Java基础 03-面向对象(共18页).rar

    3. **Java基础** - **基本数据类型**:Java有八种基本数据类型,包括整型、浮点型、字符型和布尔型。 - **变量、常量与数据类型转换**:变量用于存储数据,常量则不可改变,不同类型之间可以进行适当转换。 - **...

    java 接口 类 继承 多态的简单实例

    Java编程语言以其面向对象特性,包括接口、继承、多态性等核心概念,为开发者提供了强大的设计和实现能力。在本实例中,我们将探讨这些关键概念,并通过具体代码示例来展示它们的实际应用。 首先,**接口...

Global site tag (gtag.js) - Google Analytics