Java继承中的属性遮盖与访问

需积分: 11 1 下载量 199 浏览量 更新于2024-07-13 收藏 2.75MB PPT 举报
"本资源主要探讨了Java编程中的继承概念,特别是关于属性遮盖和方法覆盖的细节。课程内容包括Java的基础语法、面向对象编程以及高级编程接口,如图形GUI、多线程、I/O和网络编程。通过学习,开发者将深入理解Java语言的特性,例如异常处理、图形用户界面的构建以及多线程编程。此外,还涵盖了JVM的工作原理、字节码、垃圾收集以及代码安全的实现方法。" 在Java中,继承是一种关键的面向对象特性,它允许子类继承父类的属性和方法。当子类中存在与父类同名的属性时,就会发生属性遮盖。这意味着在子类对象中,父类的同名属性将被子类的属性所遮盖,无法直接通过简单的变量名访问到。例如,在`ClassB`中,即使父类`ClassA`有一个名为`a`的属性,子类`ClassB`同样有一个`a`属性,访问`this.a`会得到子类的`a`值,而不是父类的`a`值。如果需要在子类中访问父类的`a`属性,需要使用`super.a`来明确指定。 方法覆盖是另一个重要的继承概念。子类可以重写(覆盖)父类的方法,但有特定的规则:子类方法的访问修饰符范围必须比父类的更广,也就是说,如果父类的方法是私有的(private),则子类不能覆盖它。同时,子类覆盖的方法抛出的异常不能超过父类方法抛出的异常的范围。例如,如果父类方法没有抛出异常,子类覆盖的方法也不能抛出检查异常。 在创建子类对象时,会按照构造顺序先构造父类对象,再构造子类对象。这个过程称为构造器链。例如,如果有A→B→C→D的继承关系,创建D对象时,会依次构造A、B、C,最后构造D。在构造过程中,子类对象会有两个或更多相同的实例变量,一个来自父类,一个来自子类,访问这些变量时需要注意区分。 Java课程体系包括了核心Java的多个方面,如基本语法、面向对象编程,以及四个高级编程接口专题:GUI编程、多线程、I/O编程和网络编程。在基础语法部分,涉及标识符、关键字、类型、表达式和流程控制等。面向对象编程涵盖对象和类的创建。高级语言特性包括异常处理,用于处理程序运行时的错误。GUI编程涉及AWT事件模型和组件库,用于创建用户界面。多线程编程则讨论如何在Java中实现并发执行。I/O编程和网络编程则关注数据传输和网络通信。 整个Java语言的学习从了解其历史、特性、JVM的工作方式,到实际操作如安装环境、编写、编译和运行Java程序,再到深入的高级主题,构建全面的Java知识体系。这为开发者提供了扎实的理论基础和实践能力,以便在实际项目中有效地应用Java技术。