七:封装性
- 把该隐藏的私有起来,把该暴露的公有
属性封装性的体现:将类的属性私有化(private),同时,提供公有的方法来获取(get)和设置(set)此属性的值 - 拓展:封装性的体现:
1.如上将类的属性私有化
2.将类的方法私有化,比如将冒泡排序,快排设为public,将互换值temp设为private,只在类中调用
3.单例模式(将构造器私有化)
4.如果不希望类在包外被调用,可以将类设置为default
类的属性私有化可以用来限制属性范围
(private不可在其他类中赋值或调用 可以再定义一个方法返回值)
- 权限修饰符(封装性的体现需要权限修饰符来配合)
private、default( 缺省什么都不写)、protected、public(权限从小到大排列)
四种权限修饰符可以用来修饰类及类的内部结构:属性,方法,构造器,内部类,体现了类及类的内部结构在被调用时可见性的大小
- 写完属性后自动生成 get和set方法(自动生成构造器)
在方法(构造器)中:
1.“source““Getter andSetters(constructor using Fields)”
2.Alt+shift+s
构造器(构造方法/constructor)
作用:
1.创造对象
(方法:通过对象来调用方法中的功能)
创建类的对象:new+构造器
Person p=new Person();
2.在创建对象时就可以给对象的属性进行初始化 //第二个不同
(方法在通过对象调用时才可以初始化)
Person p = new Person(90);
public Person(int g){
great=g;
}
说明:1.如果没有显式的定义类的构造器的话,则系统默认提供一个空参的构造器(其权限与类的权限相同)
2.构造器定义格式:权限修饰符 类名(形参列表){ }
public Person(){ }
方法格式:权限修饰符 返回值类型 方法名 (形参列表){方法体}//第一个不同
3.一个类中可以定义多个构造器,彼此构成重载
4.一旦我们显式的定义了类的构造器后,系统就不再提供默认的构造器
5.一个类中至少有一个构造器
- 属性赋值的先后顺序
1.默认初始化值String name
2.显示初始化值int age=1
3.构造器中初始化
4.通过“对象.方法(steName)/属性”来赋值
以上操作的先后顺序是1-2-3-4(前面的是过程,后面的是结果)
1.2.3是初始化;4是赋值可以反复改变值;