Java继承中属性遮盖与构造原理详解

需积分: 20 10 下载量 20 浏览量 更新于2024-07-13 收藏 2.75MB PPT 举报
本资源主要探讨了Java编程中的"继承中的属性遮盖"现象,这是一个核心Java概念,尤其是在面向对象编程中。在Java中,当子类继承父类,并且子类中定义了与父类同名的属性或方法时,子类的版本将遮盖父类的定义。以下是关键知识点的详细解释: 1. **属性遮盖**: 当子类中有与父类同名的属性时,子类的属性会覆盖父类的属性。这可以通过实例化子类对象时创建的过程来理解,如`ClassB cb=new ClassB()`,虽然子类有自己的`a`属性(值为10),但默认情况下,`this.a`会引用子类的属性,而不是父类的属性(值为20)。 2. **方法覆盖**: 子类方法同样可以覆盖父类的方法,但子类方法的修饰符(如public、private等)必须比父类方法的更宽松,同时子类方法抛出的异常类型也不能多于父类方法。若要访问父类的被覆盖方法,应使用`super.方法名`。 3. **`super`关键字**: `super`关键字在Java中用于引用父类的实例,它指向当前对象的父类对象。在访问父类属性或方法时,`super.属性名`或`super.方法名`被用来区分和调用父类的版本。 4. **构造过程**: 在子类的构造函数中,遵循"就近原则",即在创建子类对象时,会先调用父类的构造函数进行初始化,然后再执行子类自身的构造逻辑。这意味着在`A←B←C←D`这样的继承链中,从最底层的类开始构造,逐级向上。 5. **Java编程课程体系**: 提供的课程涵盖了Java的基础知识,包括语法基础、面向对象编程、高级编程接口(图形GUI编程、多线程编程、I/O编程和网络编程)。内容涵盖了从基础入门到进阶特性的讲解,例如Java虚拟机(JVM)、字节码、垃圾回收、编码编译流程以及Java应用和Applets的开发。 6. **Java语言结构**: 课程大纲还涉及Java语言的整体知识架构,包括安装和配置Java开发环境,理解Java的发展历史和特性,以及深入理解Java平台的安全机制、类和包的概念,以及如何创建、编译和运行Java程序。 这个资源对于学习和理解Java继承中的属性遮盖以及整个Java编程环境的构建和操作非常有价值。通过实践编写TestOverride2.java和TestSxZg.java程序,读者可以更好地掌握这些概念并运用到实际项目中。