JAVA封装、继承与多态性测试

需积分: 0 0 下载量 125 浏览量 更新于2024-08-05 收藏 511KB PDF 举报
"JAVA第三、四章测试1" 在Java编程语言中,封装性、继承性和多态性是面向对象编程的三大核心概念。这些特性让代码更加模块化,易于维护,同时也增强了代码的复用性和灵活性。 1. **封装性**: - 封装是将数据和操作数据的方法绑定在一起,形成一个独立的单元,称为对象。它有助于隐藏对象的内部细节,只对外提供公共的访问方式。 - A选项正确,封装体确实包括了属性(数据成员)和方法(成员函数)。 - B选项错误,封装体中的属性和方法的访问权限可以不同,可以通过private、public、protected等修饰符来控制。 - C选项正确,封装使得某些信息对外部不可见,以保护数据的安全。 - D选项正确,封装提高了代码的可重用性,因为它允许创建抽象的数据类型。 2. **继承性**: - 继承是子类从父类继承属性和方法的过程,这使得子类具有父类的特性,同时可以添加新的特性或修改已有的特性。 - A选项正确,一个类可以派生出多个子类。 - B选项错误,子类可以继承父类的所有非私有方法和变量。 - C选项错误,Java只支持单重继承,即一个类只能有一个父类。但通过接口,可以实现多重继承的效果。 - D选项正确,Java通过接口实现了多继承的替代方案,以克服单继承的局限。 3. **多态性**: - 多态性是指同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果。 - A选项错误,Java不支持运算符重载,但支持方法重载(方法名相同,参数列表不同)。 - B选项正确,方法重载是多态性的一个体现。 - C选项错误,Java中的变量不能覆盖,但方法可以被覆盖(重写)。 - D选项正确,多态性增加了程序的抽象性和简洁性,使得代码更具通用性。 4. **访问修饰符**: - public:任何地方都可以访问。 - 默认(无修饰符):同一包内的类可以访问。 - protected:同一包内和所有子类可以访问。 - private:只有本类可以访问。 5. **构造方法**: - 构造方法用于初始化新创建的对象,方法名与类名相同,没有返回类型。 - A选项错误,构造方法可以重载,即方法名相同,但参数列表不同。 - B、C、D选项正确,描述了构造方法的基本特点。 6. **静态方法**: - 静态方法属于类,不依赖于类的实例,可以用类名直接调用。 - A、B、D选项正确,C选项错误,静态方法可以访问静态成员变量和静态方法,但不能直接访问非静态成员,因为它们需要实例化对象才能访问。 7. **抽象类**: - 抽象类用`abstract`修饰,不能直接实例化。 - A、B、D选项正确,C选项错误,抽象类可以有构造方法,以便子类在初始化时调用。 8. **super** 关键字: - super用于访问父类被隐藏的成员变量,调用父类的构造方法,或者调用被子类重写的方法。 - A、B、C选项正确,D选项错误,super不是用来定义父类的,而是用来引用父类的。 9. **子类继承父类的成员**: - 子类可以继承父类的所有非私有成员,但并非所有成员都可以直接访问,需要遵循访问修饰符的规则。 - A选项错误,子类不一定能直接访问父类的所有成员,比如私有成员。 - B选项正确,描述了同名变量在继承中的行为。 - C选项描述正确,子类中出现与父类同名的变量,访问方式会有区别。 10. **关于静态和非静态方法**: - 静态方法与非静态方法的主要区别在于是否依赖对象实例。 - 静态方法不占用对象的内存空间,而实例方法在对象创建时分配内存。 这些知识点涵盖了Java面向对象编程的基础,对于理解和编写Java代码至关重要。在实际编程中,熟练掌握这些概念可以有效提高代码质量和效率。