问题目录
①Java的访问控制修饰符有哪些?各有什么访问权限?
②子类对于从父类继承的哪些属性与方法是可见的?
③什么是组合?有什么作用?
④什么是重载?有什么作用?
⑤什么是覆盖?有什么作用?
一、Java的访问控制修饰符有哪些?各有什么访问权限?
1.public:用 private 修饰的类成员,只能被该类自身的方法访问和修改,而不能被任何其他类(包括该类的子类)访问和引用。因此,private 修饰符具有最高的保护级别
2.private: 只能本类调用而不能被其他包中的类使用,即使其他包中有该类的子类
3.protected: 在同一包中有继承关系的父子类可调用,用protected修饰的类、方法、变量,包内的任何类以及包外继承了该类的子类才能进行访问
4.friendly:使用的次数不多,和private使用差不多
二、子类对于从父类继承的哪些属性与方法是可见的?
public和protected的属性和方法是可见的,private的属性成员或是方法则不能被直接访问
三、什么是组合?有什么作用?
A类的对象是B类的成员变量。相当于 A类是B类对象的一个属性。不破坏封装,整体类与局部类之间松耦合,彼此相对独立且具有更好的可扩展性。
四、什么是重载?有什么作用?
在类中定义了多个同名而不同内容参数的成员方法时,称这些方法时重载;不用为了对不同的参数类型或参数个数,而写多个函数。多个函数用同一个名字,但参数表,即参数的个数或(和)数据类型可以不同,调用的时候,虽然方法名字相同,但根据参数表可以自动调用对应的函数。
五、什么是覆盖?有什么作用?
子类对父类参数相同、返回类型相同的同名方法重新进行定义,这种多态被称为覆盖;作用就是可以在不更改父类的情况下创建一个子类方法