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

java基础特性-继承-代码分析

阅读更多
public class Father {
	int x = 10;
	 
    public Father() {
        add(20);
    }
 
    public void add(int y) {
        System.out.println("Father");
        x += y;
    }
}

public class Child extends Father {
	int x = 9;
	 
    public void add(int y) {
        System.out.println("Child");
        System.out.println("X:"+x);
        x += y;
        System.out.println(x + ":  :" + y);
    }
}


public class Test {
	public static void main(String[] args) {
        Father f = new Child();
        System.out.println(f.x);
 
    }
}

 

打印结果为:

Child
X:0
20:  :20
10

 

分析:

1. 父类对象的引用变量 f 引用了子类的实例对象,因此继承了父类的子类实例化时,执行了父类的构造方法,执行了add(20);

 

2. 执行add(20)方法,由于重写覆盖的原因,执行的是子类的add()方法。

 

3. 在Child类中的方法域中,子类的方法调用通过父类的变量引用,变量指针指向的是子类的内存空间,而此时子类方法中的x是通过父类的变量调用的,引用没有开辟内存,没有实例化,所以x=0。

 

4. 通过x = 0; x+=y; 打印出20:20。

 

5. 最后f.x 调用父类 x 变量,打印10.

分享到:
评论

相关推荐

    Java基础--Bank项目代码

    **Java基础--Bank项目代码**是针对初学者设计的一个实践项目,它涵盖了Java编程语言的基础概念和核心特性。这个项目通过8个逐步进阶的模块,深入浅出地讲解了如何利用Java进行实际的软件开发。以下是每个模块涉及的...

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

    在Java中,继承是面向对象编程的一个核心特性,它允许一个类(子类)继承另一个类(父类)的属性和方法,从而实现代码的重用和扩展。这个"完整版Java全套入门培训课件 Java基础 04-继承下(共28页)"显然是一份详细...

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

    - **继承(Inheritance)**:一个类可以继承另一个类的特性,实现代码复用。 - **多态(Polymorphism)**:同一种行为可以有不同的表现形式,通过接口或抽象类实现。 3. **异常处理**: - Java使用try-catch-...

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

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

    《Java编程基础》-曹静-源代码

    理解类的构造方法、成员变量和方法,以及封装、继承和多态这三大面向对象特性,是Java编程的关键。同时,异常处理是保证程序健壮性的重要手段,通过try-catch-finally语句,可以捕获并处理运行时可能出现的错误。 ...

    JAVA源代码--购物管理系统

    通过对"JAVA源代码--购物管理系统"的深入学习和实践,初学者可以巩固Java编程基础,理解面向对象编程的核心概念,并逐步熟悉软件开发的基本流程。同时,这也是一个实际动手的好机会,通过实际运行和调试代码,提升...

    Java基础练习代码

    首先,Java是一种面向对象的编程语言,它的核心特性包括封装、继承和多态。在练习代码中,你会看到如何定义类(class)并创建对象,这是封装的体现;同时,通过继承(extends)可以实现代码复用,让类与类之间形成...

    Java核心技术------源代码

    通过分析和实践`Test.java`中的源代码,学习者可以逐步掌握这些核心概念,并通过不断迭代和调试来深化理解。同时,对于初学者来说,结合书籍、在线教程和社区资源,这些实例将极大地促进学习效果。在计算机编程领域...

    java棋类游戏--炮兵棋源代码

    【Java棋类游戏--炮兵棋源代码】是一款基于Java编程语言实现的棋类游戏,主要涉及了面向对象设计、游戏逻辑控制、图形用户界面(GUI)开发等多个方面的知识点。以下将详细介绍这些关键领域的相关知识。 1. **Java...

    java基础--微学院

    Java基础是编程世界中至关重要的一环,尤其对于初学者来说,掌握好Java基础知识将为后续的深入学习和开发工作奠定坚实的基础。"java基础--微学院"这个资源显然是为了帮助初学者系统地学习Java编程而设计的。让我们来...

    《Java编程基础》-曹静-源代码-5589

    此外,曹静老师还会讲解类和对象的概念,这是面向对象编程的核心,通过封装、继承和多态等特性,我们可以设计出更加模块化和可扩展的代码结构。 在Java中,数组是一种存储多个同类型数据的数据结构,学习如何创建和...

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

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

    零基础学习java--所有代码

    【Java编程基础知识】 Java是一种广泛使用的面向对象的编程语言,由Sun Microsystems(现已被Oracle公司收购)于1995年推出...在学习过程中,不断练习编写代码、阅读他人代码、分析问题并解决,是提升编程能力的关键。

    java练习题-继承.doc

    在Java编程语言中,继承是面向对象编程的一个核心概念,它允许一个类(子类或派生类)从另一个类(父类或基类)继承特性,从而实现代码的复用和扩展。Java使用关键字`extends`来表示继承关系,而`super`则用于访问...

    《java开发宝典-陈丹丹、李银龙》源代码+课件PPT

    - **继承**:通过子类继承父类,实现代码复用和多态性。 - **多态**:理解多态的概念,包括方法重写和接口实现。 - **抽象类与接口**:了解何时使用抽象类和接口来设计系统结构。 3. **异常处理** - **异常类...

    java-数组与方法及面向对象基础

    面向对象编程(Object-Oriented Programming, OOP)是Java的核心特性,它基于三个主要原则:封装、继承和多态。 1. **封装**:隐藏对象的内部细节,只暴露必要的接口供外部使用。在Java中,通过类(class)来定义...

    Java零基础 - Java语言特性简介.md

    ### Java零基础-Java语言特性简介 #### 一、面向对象编程特性 Java作为一种完全的面向对象编程语言,其核心特性在于将所有的数据和函数都组织成对象的形式。这一特性使得Java程序能够更加灵活地组织和管理代码,...

    java面向对象--图形继承关系报告[文].pdf

    综上所述,文件内容从标题到描述,再到部分内容,紧密围绕Java面向对象编程的继承特性展开,介绍了类与接口的设计,以及通过继承关系构建图形类库的基本思路。在实际开发中,这样的结构能够提高代码的可维护性和可...

    JAVA程序员必读--基础篇chm

    Java编程语言是软件开发领域中最广泛使用的编程..."JAVA程序员必读--基础篇chm"这个资源很可能是对这些内容的详细解释和实例演示,可以帮助初学者快速掌握Java编程的基础,并为进一步学习Java高级特性打下坚实基础。

Global site tag (gtag.js) - Google Analytics