本片文章解决问题
1. 封装性
2. 四种权限修饰符
3. 构造器
4. 属性赋值的先后顺序
4. JavaBean的定义
1.封装性
1.1为什么要引入封装性
- 在程序设计中我们通常追求“高内聚、低耦合”:
- 高内聚: 类的内部数据操作细节自己完成,不允许外部干涉。
- 低耦合: 仅对外暴露少量的方法用于使用。
- 隐藏数据内部的复杂性,只对外公开简单的接口,便于外界调用,从而提高系统的可扩展性,可维护性。通俗来说,把该隐藏的隐藏起来,把该暴露的暴漏出来,这就是封装性的设计思想。
1.2封装性思想的具体体现
-
体现一: 将类的属性xxx私有化(private),同时,提供公共的(public)方法来获取(getXxx)和设置(setXxx)此属性的值。
private double radius; public void setRadius(double radius){ this.radius = radius; } public double getRadius(){ return radius; }
-
体现二: 不对外暴露私有的方法。
-
体现三: 单例模式(将构造器私有化)。
-
体现四: 如果不希望类在包外被调用,可将类设置为缺省的。
2.四种权限修饰符
2.1权限从小到大顺序
private < 缺省 < protected < public
2.2具体的修饰范围
2.3权限修饰符可用来修饰的结构
- 4种权限修饰符都可以用来修饰类的内部结构:属性、方法、构造器、内部类。
- 修饰类的话,只能使用:缺省、public。
3.构造器
3.1构造器的作用
- 创建对象
- 初始化对象的信息
3.2使用说明
-
如果没有显式的定义类的构造器的话,则系统默认提供一个空参构造器。
-
定义构造器的格式
权限修饰符 类名(形参列表){ }
-
一个类中定义的多个构造器,彼此构成重载。
-
一旦我们显式的定义了类的构造器之后,系统不在提供默认的空参构造器。
-
一个类中,至少会有一个构造器。
3.3构造器举例
public Person(){
System.out.println("Hello Person");
}
public Person(String n){
name = n;
}
public Person(String n,int a){
name = n;
age = a;
}
4.属性赋值先后顺序
- 默认初始化
- 显式初始化
- 构造器中初始化
- 通过“对象. 方法”或“对象.属性”的方式,赋值
5.JavaBean的定义
- 类是公共的
- 一个无参的公共的构造器
- 属性,且对应有get、set方法