1、什么是封装?
封装就是将属性私有化,提供公有的方法访问私有属性。
做法:将类的属性xxx私有化(private),同时提供公共的(public)方法来获取(getXxx)和设置(setXxx)
如:private String name;
public String getName(){
return name;
}
public void setName(String name){
this.name=name;
}
2、为什么需要封装?
通过封装,可以实现对属性的数据访问限制,同时增加了程序的可维护性。
3、封装的体现,需要权限修饰符来配合
权限从小到大:private 、缺省、protected、public
![12035ff535017701273a686dbbcf6da0.png](https://img-blog.csdnimg.cn/img_convert/12035ff535017701273a686dbbcf6da0.png)
总结封装性:Java提供了4种权限修饰符类及类的内部结构,体现类及其类的内部结构在被调用时的可见性大小
3、如何实现封装,实现封装的具体方法?
(1) 修改属性的可见性来限制对属性的访问。
(2) 为每个属性创建一对赋值方法和取值方法,用于对这些属性的访问。
(3) 在赋值和取值方法中,加入对属性的存取的限制。
4、this关键字
(1) this调用本类中的属性,也就是类中的成员变量;
(2) this调用本类中的其他方法;
(3) this调用本类中的其他构造方法,调用时要放在构造方法的首行。
5、什么是构造方法?构造方法的语法规则?
构造方法负责对象成员的初始化工作,为实例变量赋予合适的初始值。
构造方法的语法规则:方法名与类名相同。没有返回类型。
使用new关键字实例化对象的过程实际上就是调用构造方法的过程。或者说实例化一个对象实际上就是去调用这个对象的构造方法。
带参数的构造方法:可以显示地为实例变量赋予初始值。在不同的条件下创建不同的对象,这些对象的实例变量具有不同的值。
注意:在使用带参数的构造方法实例化对象时,传递的值和构造方法的参数应当在个数、次序和数据类型上相互配备。
通过调用带参数的构造方法,在创建对象时,一并完成了对象的初始化工作,简化了对象初始化的代码。
6、什么是方法重载?
方法名称相同,参数项不相同。那么认为一个方法是另一个方法的重载方法。
注意:重载只跟参数有关,与返回类型无关。方法名和参数相同而返回类型不相同,不能说是重载。
7、什么是构造方法重载?
构造方法重载是方法重载的一个典型的特例。参数列表不同。
可以通过重载构造方法来表达对象的各种多种初始化行为。也就是说在通过new语句创建一个对象时,可以实现在不同的条件下,让不同的对象具有不同的初始化行为。
8、return关键字的一个作用是:结束方法,直接跳出方法体,不执行它下面的代码,下面的代码可以不使用else
![5a82e698495cfcfc14643c4dba8dfe65.png](https://img-blog.csdnimg.cn/img_convert/5a82e698495cfcfc14643c4dba8dfe65.png)
9、属性赋值的先后顺序
① 默认初始化
② 显示初始化
③ 构造器中赋值
④ 通过“对象.方法”或"对象.属性"的方法,赋值
以上操作的先后顺序:① - ② - ③ - ④
10、javaBean
javaBean是java语言写成的可重用组件
所谓javaBean,是指符合如下的标准的java类
》类是公共的
》有一个无参的公共的构造器
》属性私有化的,必须通过public类型的方法暴露给其它程序,有对应的get,set方法
11、理解“高内聚,低耦合”的思想
(1)耦合性:也称块间联系。指软件系统结构中各模块间相互联系紧密程度的一种度量。模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。模块间耦合高低取决于模块间接口的复杂性、调用的方式及传递的信息
(2)内聚性:又称块内联系。指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。若一个模块内各元素(语名之间、程序段之间)联系的越紧密,则它的内聚性就越高。
所谓高内聚指一个软件模块是由相关性很强的代码组成,只负责一项任务,也就是常说的单一责任原则
低耦合:一个完整的系统,模块与模块之间,尽可能的使其独立存在。也就是说,让每个模块,尽可能的独立完成某个特定的子功能。模块与模块之间的接口,尽量的少而简单。如果某两个模块间的关系比较复杂的话,最好首先考虑进一步的模块划分。这样有利于修改和组合。