Java面试题-Java基础(七)-封装和继承
面试题
1.封装的作用,实现封装的步骤?
- 便于使用者正确的使用系统,防止错误的赋属性值
- 将对构建大型系统非风,险
- 提高代码的重用性
- 降低程序的稠合度
属性私有,方法公开
2.封装中get和set方法分别作用?
get方法用于获取属性值
set方法用于设置属性值
3.现有Student类属性: String name,int age,手写实现封装
public void setName(String name){
this.name = name;
}
public String getName(){
return name;}
public void setAge(int age){
this.age = age;}
public int getAge(){
return age;}
4.根据第三题提供的属性手写所有的构造方法 只写构造声明即可
public Student(){}
public Student(String name){}
public Student(int age){}
public Student(String name,int age){}
public Student(int age,String name){}
5.main方法能直接访问对象的属性和方法吗 ?
不能,必须先new对象,再通过对象名加点访问
6.this关键字的含义和适用场景
this表示当前对象,可以用于访问本类的属性、方法、构造方法
7.类的访问修饰符有哪些,分别代表什么意义?
默认不写: 表示在同包中可以访问
public: 表示在任何位置都可以访问
8.类的成员访问修饰符有哪些,分别代表什么意义?
private: 表示在本类中可以访问
默认不写: 表示在本包中可以访问
protected: 表示在本类,本包,以及子类中
public: 任何位置
9.继承关键字,子类与父类的关系
extends,子类与父类是is-a的关系,即子类是父类举例: 狗是宠物 企是宠物 笔记本是电脑 台式机是电脑
10.super关键字的含义和适用场景
super用于访问当前对象是父类信息可以用于访问父类中的属性、方法、构造方法
11.子类构造方法访问父类构造方法的规则
子类构造方法默认访问父类的无参构造方法除非子类构造方法中显式访问父类的有参构造则不再访问无参构造