`

java中重写与多态的关系

    博客分类:
  • java
阅读更多

1. 重写是多态的先决条件,没有重写,就没有多态
2. 类的属性上不存在多态

代码块

public class A {
    public String a = "a";
    public void test() {
        System.out.println("i am a");
    }
}

public class B extends A{
    public String b = "b";
    public String a = "a1";
    public String b1 = "b1";
    public void test() {
        System.out.println("i am b");
    }
}

public class C {
    public static B testC() {
        return new B();
    }

    public static void main(String[] args) {
        A a = testC();
        a.test();  //多态,调用了B的test方法,结果为“i am b”
        System.out.println(a.a);  //只会调用a对象的a属性,属性上是没有多态性的。a对象是看不到B类的属性的。结果为“a”
    }
}

<!--StartFragment-->
<!--EndFragment-->

分享到:
评论

相关推荐

    java中继承与多态的题目

    Java 中继承与多态的题目 本资源摘要信息是关于 Java 中继承和多态的题目,涵盖了面向对象编程的基本概念和继承机制的应用。 继承的概念 继承是面向对象编程的一种机制,允许一个类(子类)继承另一个类(父类)...

    java的编译时多态和运行时多态

    Java 编译时多态和运行时多态是 Java 语言中两个重要的概念,它们都是多态性的实现方式,但它们在实现机制和应用场景上有所不同。 编译时多态 编译时多态是指在编译期根据参数列表的不同来区分不同的函数,这时...

    Java 语言程序设计:第5章接口多态.ppt

    本章主要讲解 Java 语言程序设计中接口和多态的概念、语法和应用。接口是 Java 语言中的一种抽象机制,它提供了一种定义类之间的“协议”的方式,允许类之间实现多继承,同时免除 C++ 中的多继承那样的复杂性。同时...

    java中多态的内存分析

    多态性分为编译时多态和运行时多态,其中运行时多态是Java中最常见的形式,也称为动态绑定。在深入探讨Java中多态的内存分析之前,我们需要先理解一些基本概念。 首先,了解Java内存模型至关重要。Java程序运行时...

    JAVA封装继承与多态PPT教案学习.pptx

    JAVA 封装继承与多态是面向对象程序设计语言中三个重要的概念,本文将对这三个概念进行详细的解释。 一、封装 封装是指隐藏对象的内部细节,使对象外部不能随意存取对象的内部数据的过程。JAVA 中,对象就是一个...

    java继承与多态

    在Java中,多态主要通过继承和方法重写实现。 **3.2 方法重写** 方法重写允许子类重新定义父类的方法。这样,当一个对象被当作父类处理时,实际调用的是子类的方法实现。方法重写的规则包括: - 子类方法的签名...

    重载,重写,覆盖,多态

    在面向对象编程语言中,如Java、C#等,重载(Overloading)、重写(Overriding)、覆盖(也称为重写)以及多态(Polymorphism)是几个非常重要的概念。它们之间既有关联又有区别,本文将详细解释这些概念,并探讨...

    深入Java核心 Java中多态的实现机制编程资料

    在Java中,多态主要体现在方法重写(Overriding)上,它允许子类重新定义父类的方法来展示不同的行为。为了实现多态,Java提供了几个关键的要求: 1. **派生类对象的方法调用必须通过一个基类类型的变量进行**:这...

    Java 经典Javapeople继承与多态

    在"Java 经典Javapeople继承与多态"的主题中,`people`可能包含一系列与人物相关的类,如`Person`作为基础类,然后有`Student`, `Teacher`等子类继承自`Person`,这样就形成了一个继承层次结构。 例如,`Person`类...

    java 重载,继承,重写和多态的区别. doc

    Java编程语言中的重载、继承、重写和多态是面向对象编程的四个核心概念,它们各自具有独特的功能和用途。 1. **重载(Overloading)**: 重载发生在同一个类内部,指的是可以有多个同名方法,但这些方法的参数列表...

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

    在深入理解和运用Java中的多态机制时,我们需要仔细研究类的继承结构,理解如何通过接口实现多态,掌握方法重写在实现多态中的作用,以及了解类型擦除和泛型编程在Java中的应用。通过实践和对文档内容的深入挖掘,...

    java 重载,重写以及继承,多态的区别

    Java 中的重载、重写、继承和多态是四个不同的概念,它们之间存在一定的关系,但也存在明显的区别。 重载(Overload) 重载是指在同一个类中可以定义多个同名的方法,但这些方法的形参个数或类型必须不同。编译器...

    继承与多态,重载和重写

    重写只发生在继承关系中,子类方法必须声明为`@Override`(在Java中),以确保该方法确实覆盖了父类的相应方法。在运行时,如果对象是子类类型,即使引用的是父类类型,也会调用子类中重写的方法,这就是多态性的一...

    java基础继承封装多态

    在 Java 中,可以通过方法重写和方法重载来实现多态。方法重写是子类继承父类的方法,并提供不同的实现。方法重载是提供多个同名方法,但是参数类型不同。 面向对象的设计 面向对象的设计是 Java 中的一种设计模式...

    java基础——方法的重写、多态+instanceof(csdn)————程序.pdf

    在Java编程语言中,方法的重写和多态是面向对象设计的重要概念,它们使得代码更加灵活和可扩展。下面将详细阐述这两个概念及其应用场景。 首先,方法的重写(Override)是指在一个子类中定义与父类相同名称和参数...

    详解java接口、继承和多态

    ### 详解Java接口、继承和多态 ...综上所述,Java中的接口、继承和多态是面向对象编程中非常重要的概念,它们为构建灵活、可扩展的系统提供了基础。理解和熟练掌握这些概念对于成为一名优秀的Java开发者至关重要。

    源代码+报告-Java的继承和多态编程

    在Java编程中,继承和多态是面向对象编程的核心概念,它们在软件设计中起着至关重要的作用。在这个实验中,我们看到一个具体的应用场景,即实现一个小型公司的工资管理系统,来阐述这两个概念。 首先,让我们理解...

    对java中多态理解

    对 Java 中多态理解 Java 中的多态是指在不同的情况下可以有不同的行为,多态是面向对象编程的一种基本特征。多态的实现是通过方法重载和方法重写来实现的。 在 Java 中,多态可以分为两种:编译时多态和运行时...

Global site tag (gtag.js) - Google Analytics