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

java基础特性-多态-代码分析(一)

阅读更多

例子:

class Father{

  public void func1(){

  	func2();

		}

  //这是父类中的func2()方法,因为下面的子类中重写了该方法
  //所以在父类类型的引用中调用时,这个方法将不再有效
  //取而代之的是将调用子类中重写的func2()方法
  public void func2(){

  	System.out.println("AAA");

  }
}

class Child extends Father{

  //func1(int i)是对func1()方法的一个重载
  //由于在父类中没有定义这个方法,所以它不能被父类类型的引用调用
  public void func1(int i){
  	System.out.println("BBB");
  }

  //func2()重写了父类Father中的func2()方法
  //如果父类类型的引用中调用了func2()方法,那么必然是子类中重写的这个方法
  public void func2(){
  	System.out.println("CCC");
  }

}

public class Test {

  public static void main(String[] args) {

  Father child = new Child();

  child.func1();//打印结果将会是什么?

  }

}

 

 

打印输出:

“CCC”

 

对于多态,可以总结它为:
一、使用父类类型的引用指向子类的对象;

 

二、该引用只能调用父类中定义的方法和变量;

 

三、如果子类中重写了父类中的一个方法,那么在调用这个方法的时候,将会调用子类中的这个方法;(动态连接、动态调用)

 

四、变量不能被重写(覆盖),”重写“的概念只针对方法,如果在子类中”重写“了父类中的变量,那么在编译时会报错。

分享到:
评论

相关推荐

    Java语法基础-面试专题及答案

    11.Java 面向对象编程三大特性: 封装 继承 多态 关于继承的3点 12.String StringBuffer 和 StringBuilder 的区别是什么 String 为什么是不可变的 可变性、线程安全性的研究 13.自动装箱与拆箱 14.在一个静态方法内...

    Java中的多态.pptx.pptx

    多态是面向对象编程的重要特性,它允许一个接口被多种不同的数据类型实现,增强了代码的灵活性和可扩展性。 多态的实现方式 Java中的多态主要通过继承、接口和重写实现,子类可以覆盖父类的方法,使得在运行时能够...

    AES-Java-iOS-Android.zip

    面向对象:Java全面支持面向对象的特性,如封装、继承和多态,使得代码更易于维护和扩展。 安全:Java提供了丰富的安全特性,如禁止指针运算、自动内存管理和异常处理机制,以减少程序错误和恶意攻击的可能性。 ...

    Java毕业设计-JAVA SMART系统-系统框架设计与开发(源代码+论文)(1).rar

    2. **面向对象编程**:系统采用纯面向对象的编程方式,利用Java语言的封装、继承和多态特性,提高了代码的可重用性和可维护性。 3. **数据库设计**:系统内置了多种数据库支持,包括MySQL、Oracle等主流数据库。...

    D11接口,多态.zip_d11接口_java接口_mannerglc_多态

    接口是功能的集合,同样可看做是一种数据类型,是比抽象类更为抽象...Java中多态的代码体现在一个子类对象(实现类对象)既可以给这个子类(实现类对象)引用变量赋值,又可以给这个子类(实现类对象)的父类(接口)变量赋值。

    封装、继承、多态.docx

    JAVA 封装、继承、多态 三大特性以及实操

    Java实现FP-growth算法.zip

    面向对象:Java全面支持面向对象的特性,如封装、继承和多态,使得代码更易于维护和扩展。 安全:Java提供了丰富的安全特性,如禁止指针运算、自动内存管理和异常处理机制,以减少程序错误和恶意攻击的可能性。 ...

    深入理解Java多态.pptx.pptx

    多态是面向对象编程中的一个重要特性,它允许一个类的引用变量指向多种实际类型。这意味着在运行时,可以调用不同的方法实现不同的功能 多态的实现方式 多态可以通过继承、接口和重写实现。子类继承父类后,可以使用...

    Java——多态

    Java——多态 多态的特性 1.可替换性(substitutability)。多态对已存在代码具有可替换性。 例如,多态对圆Circle类工作,对其他任何圆形几何体,如圆环, 也同样工作。 2.可扩充性(extensibility)。多态对代码...

    Java经典面试题(答案解析)

    含基础篇,核心篇,框架篇,微服务篇 1.1.1 面向对象特征 封装,继承,多态和抽象 1、 封装 封装给对象提供了隐藏内部特性和行为的能力。对象提供一些能被其他对象访问的方法来改变它内部的数据。在 Java 当中,有 3...

    Java虚拟机栈--栈帧.docx

    栈帧的内部结构 ...3.动态链接 (Dynamic Linking)(或执行"运行时常量池"的方法引用)----深入理解Java多态特性必读!! 4.方法返回地址(Return Adress)(或方法正常退出或者异常退出的定义) 5.一些附加信息

    Java面试宝典-经典

    Java基础部分 7 1、一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制? 7 2、Java有没有goto? 7 3、说说&和&&的区别。 8 4、在JAVA中如何跳出当前的多重嵌套循环? 8 5、switch语句能否作用在byte...

    Java语言程序设计_第5章_接口与多态课件及源代码

    Java语言程序设计_第5章_接口与多态课件及源代码 第5章 接口与多态(熊).ppt

    java基础面试题目详解

    核心,包括了 Java 运行环境 JRE、Java 工具和 Java 基础类库。Java Runtime Environment(JRE)是运行 JAVA 程序所必须的环境的集合,包含 JVM 标准实 现及 Java 核心类库。JVM 是 Java Virtual Machine(Java ...

    duotai.zip源码文件

    java的三大特性封装--继承--多态,每一步都是很关键的,其中实现多态又时很有用的,使用多态能有效降低程序的耦合度,基于我对多态理解写的一个简单的小案例,合适初学者或小白使用,里面都注释了代码含义,仅自己...

    【Java面试+Java学习指南】 一份涵盖大部分Java程序员所需要掌握的核心知识

    Java8新特性终极指南 序列化和反序列化 继承、封装、多态的实现原理 容器 Java集合类总结 Java集合详解1:一文读懂ArrayList,Vector与Stack使用方法和实现原理 Java集合详解2:Queue和LinkedList Java集合详解3:...

    常规Java工具,算法,加密,数据库,面试题,源代码分析,解决方案.zip

    面向对象:Java全面支持面向对象的特性,如封装、继承和多态,使得代码更易于维护和扩展。 安全:Java提供了丰富的安全特性,如禁止指针运算、自动内存管理和异常处理机制,以减少程序错误和恶意攻击的可能性。 ...

    重构-改善既有代码的设计

    第1章 重构,第一个案例 1 1.1 起点 1 1.2 重构的第一步 7 1.3 分解并重组statement() 8 1.4 运用多态取代与价格相关的条件逻辑 34 1.5 结语 52 第2章 重构原则 53 2.1 何谓重构 53 2.2 为何重构 ...

    src.zip Java的面向对象编程·讲解代码

    通过这段代码源码资源,目标是提供一个清晰而易懂的示例,帮助学习者更好地理解Java中的面向对象编程原则和概念。它将演示如何创建类和对象,如何定义和使用继承关系,如何利用封装实现数据隐藏,以及如何利用多态...

    JAVA基础课程讲义

    JAVA的特性和优势 14 JAVA应用程序的运行机制 15 JVM(JAVA VIRTUAL MACHINE) 16 Java运行时环境JRE(Java Runtime Environment) 17 JAVA语言应用范围 18 第一个JAVA程序 18 JAVA开发环境搭建 18 一个典型的JAVA程序的...

Global site tag (gtag.js) - Google Analytics