Java继承实例:成员变量隐藏与方法覆盖解析

需积分: 32 7 下载量 26 浏览量 更新于2024-08-23 收藏 2.71MB PPT 举报
"这个资源是一个Java实训教程,主要讲解了继承中的成员变量隐藏和方法覆盖的概念,以及Java的发展历史、运行机制、平台无关性、JVM的工作原理和垃圾回收机制。" 在Java编程中,继承是面向对象特性之一,允许一个类(子类)继承另一个类(父类)的特性,以此实现代码的重用和扩展。在这个实训中,重点讨论了两个关键概念:成员变量的隐藏和方法的覆盖。 成员变量的隐藏是指子类中定义了一个与父类同名的成员变量,这并不意味着父类的变量消失了,而是被隐藏。在子类内部,直接使用该变量名时会访问子类的变量,而如果通过父类引用调用,则会访问到父类的变量。例如: ```java class Parent { int num = 10; } class Child extends Parent { int num = 20; // 隐藏父类的num变量 } Child child = new Child(); System.out.println(child.num); // 输出20,访问子类的num Parent parent = child; System.out.println(parent.num); // 输出10,通过父类引用访问父类的num ``` 方法的覆盖(Override)则是指子类重新定义了父类中的某个方法,以改变其行为。子类方法必须保持与父类方法相同的返回类型和参数列表,但可以有不同的访问修饰符。例如: ```java class Parent { void display() { System.out.println("Parent's method"); } } class Child extends Parent { @Override void display() { // 覆盖父类的display方法 System.out.println("Child's method"); } } Child child = new Child(); child.display(); // 输出"Child's method" ``` 接下来,实训内容还涵盖了Java的发展历程,包括1991年的起源,1995年的发布,以及后续的JDK版本更新,强调了Java的平台无关性,这是Java的一大特点。Java源代码编译成字节码(.class文件),这些字节码可以在任何支持Java的平台上由Java虚拟机(JVM)执行,实现了“一次编写,到处运行”的理念。 JVM作为Java的核心组成部分,它解析字节码并将其转换为特定平台的机器指令。JVM还包含了垃圾回收机制,自动管理内存,避免了程序员手动释放内存可能导致的问题,提高了程序的健壮性。 这个实训教程深入浅出地介绍了Java编程中的重要概念,对于初学者理解和掌握面向对象编程、继承以及Java平台无关性的实现有极大的帮助。