Java编程:访问控制、构造函数与继承解析

版权申诉
0 下载量 160 浏览量 更新于2024-07-08 收藏 141KB DOC 举报
"郝斌的Java视频教程笔记文档,涵盖了Java编程的基础概念,包括访问控制符、构造函数、函数重载、启动类的规范、`this`关键字、`static`修饰符、继承、函数重写以及多态性。" 在Java编程中,访问控制符扮演着至关重要的角色,它们决定了类的成员(如变量和方法)对外的可见性。主要有四种访问控制符:`public`、`private`、`protected`以及默认(无修饰符)。`public`的成员可以在任何地方访问,`private`成员只能在定义它们的类内部访问,`protected`成员在同一个包或子类中可访问,而默认修饰符的成员则在同一包内可访问。 类的构造函数是用于初始化新创建对象的特殊方法。它的名字必须与类名相同,且没有返回值,包括`void`。一个类可以有多个构造函数,允许不同的初始化方式,这称为构造函数重载。当创建类的对象时,会自动调用一个构造函数,且只能调用一个。 函数重载是允许在同一作用域内有多个同名函数,但它们的参数列表不同,可能是参数数量、顺序或类型。Java通过这些差异来决定调用哪个函数。 在Java中,`this`关键字代表当前对象的引用。在构造函数中,`this`指的是正在创建的对象;在普通方法中,`this`指的是调用该方法的对象。在某些情况下,`this`可以省略,因为编译器可以自动推断。 `static`关键字用于声明类级别的变量和方法,它们不属于类的实例,而是属于类本身。静态成员可以直接通过类名访问,而无需创建对象。但是,`static`方法不能调用非`static`方法或变量,因为它们依赖于特定的对象实例。 继承是面向对象编程的重要特性,Java支持单继承,即一个子类只能有一个父类。子类可以继承父类的非`private`成员,但不能继承父类的构造函数。调用父类构造函数需使用`super`关键字,且必须位于子类构造函数的第一条语句。 函数重写发生在子类中,当子类需要改变或扩展父类的方法行为时。重写的方法必须与被重写的方法有相同的名称、参数列表和返回类型。 多态性是Java的另一个核心特性,它允许一个父类引用指向子类对象。这意味着父类引用可以调用子类对象的方法,根据实际对象的类型动态绑定,从而实现不同的行为。这种能力使得代码更加灵活,易于维护和扩展。子类对象可以直接赋值给父类引用,但反之则不行,因为父类引用不能直接调用子类特有的方法或访问子类特有的成员。