`
justin8335
  • 浏览: 28822 次
  • 性别: Icon_minigender_1
  • 来自: 福州
社区版块
存档分类
最新评论

关于重写&多态

 
阅读更多
java 代码
  1. class A{   
  2.     String name = "A";   
  3.     int age = 18;   
  4.     String getName(){   
  5.         return name;   
  6.     }   
  7.     String greeting(){   
  8.         return "classA";   
  9.     }   
  10.     String fooA(){   
  11.         return "fooA";   
  12.     }   
  13. }   
  14. class B extends A{   
  15.     String name ="B";   
  16.     String sex = "male";   
  17.     String greeting(){   
  18.         return "classB";   
  19.     }   
  20.     String fooB(){   
  21.         return "fooB";   
  22.     }   
  23.        
  24.        
  25. }   
  26. public class TestAll{   
  27.   
  28.   
  29.     public static void main(String[] args) {   
  30.         A a = new A();   
  31.         A b = new B();   
  32.            
  33.         System.out.println(a.greeting()+" has name "+a.name);   
  34.         System.out.println(b.greeting()+" has name "+b.name);   
  35.         System.out.println(b.fooA());   
  36.         System.out.println(b.age);   
  37.         /*Error  
  38.          * System.out.println(b.fooB());   
  39.            System.out.println(b.sex);  
  40.          */    
  41.     }   
  42.   
  43. }   

父类引用子类对象 ,因为b的类型是父类的类型A,b只能调用从父类A继承下来的方法和变量。

b.greeting 调用的是B内的greeting()方法(重写了A的greeting()),而b.name则返回A(超类)的name.(B类中的变量name不是重写A中的变量name,变量被不能重写!)

 

分享到:
评论

相关推荐

    day01-继承&修饰符&多态&抽象类.pdf

    多态在Java中主要表现为父类引用指向子类对象,以及方法的重写。通过多态,可以编写出通用的代码,比如通过父类引用调用方法,而实际调用的是子类中重写的那个方法。这种机制使得程序更加灵活,易于扩展。 抽象类在...

    C#重写重载与多态

    在C#编程语言中,重写、重载和多态是面向对象编程的三大核心特性,它们对于构建灵活、可扩展的代码结构至关重要。 首先,我们来看“重写”。重写(Override)允许子类对从基类继承来的方法进行重新定义,以便提供...

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

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

    继承,重载,重写,多态,抽象类,接口,final,static

    继承,重载,重写,多态,抽象类,接口,final,static

    python进阶1.7继承,重写,多态等.zip

    python基础进阶1.7继承,重写,多态等相关视频。至此,我认为了解这些python基础,便可以进行相关项目实践了。在实践中学习更多的python函数用法。关注微信公众号:深度学习社区DLC;博客:...

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

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

    重载,重写,覆盖,多态

    ### 重载、重写、覆盖与多态的深刻剖析 在面向对象编程语言中,如Java、C#等,重载(Overloading)、重写(Overriding)、覆盖(也称为重写)以及多态(Polymorphism)是几个非常重要的概念。它们之间既有关联又有...

    Python中的魔法:方法重写与多态的魅力.pdf

    方法重写(Method Overriding)与多态(Polymorphism)是面向对象编程中两个非常重要的概念。前者允许子类重定义父类的方法以实现特定的功能;后者则允许我们通过基类引用调用子类的方法,从而提高了代码的可扩展性...

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

    "java 重载,重写以及继承,多态的区别" Java 中的重载、重写、继承和多态是四个不同的概念,它们之间存在一定的关系,但也存在明显的区别。 重载(Overload) 重载是指在同一个类中可以定义多个同名的方法,但这些...

    关于继承和多态的简单练习

    现在,让我们回到“关于继承和多态的简单练习”这个主题。在这个练习中,你可能创建了一些类,定义了它们之间的继承关系,并实现了多态的效果。例如,你可能创建了一个`Vehicle`类,然后有`Car`和`Bike`继承自`...

    Java基础之方法重写和多态示例

    Java基础之方法重写和多态示例 Java基础之方法重写和多态是Java面向对象程序设计的两个重要概念。方法重写是指子类提供了一个与父类相同的方法签名,但是子类中的方法可以有不同的实现。这使得子类可以根据自己的...

    易语言面向对象的脚本引擎 支持重写 继承 多态

    闭包功能添加了 但是我没有测试。。。里面包含两种语法分析模式 parser(纯递归) 和 paser2(算符优先级分析)。 已经可以运行这样的代码了。(声明类的时候 指定的父类要放在前面。。添加哈希表是按照顺序添加的。...

    多态覆盖重写

    ### 多态、覆盖与重写的理解 在面向对象编程中,多态、覆盖(覆写)和重写是三个非常重要的概念。本文将通过Java、C++和C#三种语言的实际代码示例来深入探讨这三个概念,并解释它们之间的区别。 #### 1. 多态的...

    方法重写equals和多态

    在Java编程语言中,"方法重写equals"和"多态"是两个核心概念,尤其对于面向对象的设计和实现至关重要。下面将详细解释这两个概念及其相互关系。 **方法重写equals()** 在Java中,`equals()`方法是Object类的一个...

    浅谈Java中的重载,重写,多态,静态绑定、动态绑定

    Java中的重载、重写、多态、静态绑定和动态绑定的知识点总结 Java 中的重载(Overload)是一种机制,允许在同一个类中定义多个具有相同名称的方法,这些方法的参数个数、参数类型和顺序不能相同。返回类型可以相同...

    继承与多态,重载和重写

    动态多态则通过方法重写(Overriding)实现,子类可以覆盖父类中的方法,提供自己的实现。 【重载与重写】 重载(Overloading)是指在同一个作用域(通常是类)中可以有多个同名的方法,但这些方法的参数列表必须...

    关于C#继承多态的应用项目

    在这个例子中,`ChildClass`继承了`ParentClass`,并重写了`Display`方法,这就是多态的基础。 接下来,我们讨论“多态”。多态是指同一种行为在不同的对象上表现出不同的形式。在C#中,这主要通过虚方法和重写来...

    [Java]重载,重写以及继承,多态的区

    在Java编程语言中,重载、重写、继承与多态是四个非常核心的概念,它们在面向对象编程中扮演着至关重要的角色。接下来,我们将详细探讨这些概念,并通过实例加以说明。 ### 重载(Overload) 重载是指在同一个类中...

    C++实验代码(关于类与多态的实验)

    在C++编程语言中,类和多态是两个核心概念,它们构成了面向对象编程的基础。本实验代码集合专注于这两者,旨在帮助学习者深入...因此,这个“C++实验代码(关于类与多态的实验)”是每个C++学习者不容错过的宝贵资源。

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

    Java中的四个核心概念——重载(Overloading)、继承(Inheritance)、重写(Overriding)和多态(Polymorphism)是面向对象编程的基础。理解它们的区别有助于编写更灵活、可扩展的代码。 1. 重载(Overloading):...

Global site tag (gtag.js) - Google Analytics