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编程语言的基础概念和核心特性。这个项目通过8个逐步进阶的模块,深入浅出地讲解了如何利用Java进行实际的软件开发。以下是每个模块涉及的...
在Java中,继承是面向对象编程的一个核心特性,它允许一个类(子类)继承另一个类(父类)的属性和方法,从而实现代码的重用和扩展。这个"完整版Java全套入门培训课件 Java基础 04-继承下(共28页)"显然是一份详细...
- **继承(Inheritance)**:一个类可以继承另一个类的特性,实现代码复用。 - **多态(Polymorphism)**:同一种行为可以有不同的表现形式,通过接口或抽象类实现。 3. **异常处理**: - Java使用try-catch-...
综上所述,"Java基础 04-继承上"的课程将涵盖这些关键点,帮助初学者理解如何在Java中使用继承来构建类之间的关系,以及如何利用多态和接口来增强代码的灵活性。这个8页的PPTX文件很可能会深入探讨这些概念,并通过...
理解类的构造方法、成员变量和方法,以及封装、继承和多态这三大面向对象特性,是Java编程的关键。同时,异常处理是保证程序健壮性的重要手段,通过try-catch-finally语句,可以捕获并处理运行时可能出现的错误。 ...
通过对"JAVA源代码--购物管理系统"的深入学习和实践,初学者可以巩固Java编程基础,理解面向对象编程的核心概念,并逐步熟悉软件开发的基本流程。同时,这也是一个实际动手的好机会,通过实际运行和调试代码,提升...
首先,Java是一种面向对象的编程语言,它的核心特性包括封装、继承和多态。在练习代码中,你会看到如何定义类(class)并创建对象,这是封装的体现;同时,通过继承(extends)可以实现代码复用,让类与类之间形成...
通过分析和实践`Test.java`中的源代码,学习者可以逐步掌握这些核心概念,并通过不断迭代和调试来深化理解。同时,对于初学者来说,结合书籍、在线教程和社区资源,这些实例将极大地促进学习效果。在计算机编程领域...
【Java棋类游戏--炮兵棋源代码】是一款基于Java编程语言实现的棋类游戏,主要涉及了面向对象设计、游戏逻辑控制、图形用户界面(GUI)开发等多个方面的知识点。以下将详细介绍这些关键领域的相关知识。 1. **Java...
Java基础是编程世界中至关重要的一环,尤其对于初学者来说,掌握好Java基础知识将为后续的深入学习和开发工作奠定坚实的基础。"java基础--微学院"这个资源显然是为了帮助初学者系统地学习Java编程而设计的。让我们来...
此外,曹静老师还会讲解类和对象的概念,这是面向对象编程的核心,通过封装、继承和多态等特性,我们可以设计出更加模块化和可扩展的代码结构。 在Java中,数组是一种存储多个同类型数据的数据结构,学习如何创建和...
Java编程语言以其强大的功能和广泛的应用而闻名,其中三大特性——封装、继承和多态是其核心概念,对于理解和编写高效、可维护的代码至关重要。 **封装**是面向对象编程的基础,它涉及到将数据(属性)和操作这些...
【Java编程基础知识】 Java是一种广泛使用的面向对象的编程语言,由Sun Microsystems(现已被Oracle公司收购)于1995年推出...在学习过程中,不断练习编写代码、阅读他人代码、分析问题并解决,是提升编程能力的关键。
在Java编程语言中,继承是面向对象编程的一个核心概念,它允许一个类(子类或派生类)从另一个类(父类或基类)继承特性,从而实现代码的复用和扩展。Java使用关键字`extends`来表示继承关系,而`super`则用于访问...
- **继承**:通过子类继承父类,实现代码复用和多态性。 - **多态**:理解多态的概念,包括方法重写和接口实现。 - **抽象类与接口**:了解何时使用抽象类和接口来设计系统结构。 3. **异常处理** - **异常类...
面向对象编程(Object-Oriented Programming, OOP)是Java的核心特性,它基于三个主要原则:封装、继承和多态。 1. **封装**:隐藏对象的内部细节,只暴露必要的接口供外部使用。在Java中,通过类(class)来定义...
### Java零基础-Java语言特性简介 #### 一、面向对象编程特性 Java作为一种完全的面向对象编程语言,其核心特性在于将所有的数据和函数都组织成对象的形式。这一特性使得Java程序能够更加灵活地组织和管理代码,...
综上所述,文件内容从标题到描述,再到部分内容,紧密围绕Java面向对象编程的继承特性展开,介绍了类与接口的设计,以及通过继承关系构建图形类库的基本思路。在实际开发中,这样的结构能够提高代码的可维护性和可...
Java编程语言是软件开发领域中最广泛使用的编程..."JAVA程序员必读--基础篇chm"这个资源很可能是对这些内容的详细解释和实例演示,可以帮助初学者快速掌握Java编程的基础,并为进一步学习Java高级特性打下坚实基础。