1. 封装
- 含义 :隐藏对象的属性及细节,仅提供对外访问的方式
-
好处:隐藏实现细节,提供公共的访问方式
提高了代码的复用性
提高安全性
- 应用: 采用private关键字
注意: private关键字只是封装的一种,不能讲封装就是private
- private关键字特点:
- (1)是一个权限修饰符
- (2) 可以修饰成员变量和成员方法
- (3) 被修饰的成员只能在本类中被访问
- private关键字特点:
2. this关键字
- 特点:代表当前对象的引用
- 应用:主要是用来区分成员变量和局部变量重名
- 用法:
- this.成员属性
- this(参数列表),写在构造器第一行,调用其他构造器
3.构造方法
- 概述:给对象的数据(属性)进行初始化
- 特点:
- 方法名与类名相同(大小与类名一致)
- 没有返回值类型
- 没有具体的返回值return;
- 构造方法的重载及注意事项
- 格式:重载:方法名相同,与返回值类型无关(构造方法没有返回值),只看参数列表
- 注意事项
-
a:如果我们没有给出构造方法,系统将自动提供一个无参构造方法。
b:如果我们给出了构造方法,系统将不再提供默认的无参构造方法。
注意:这个时候,如果我们还想使用无参构造方法,就必须自己给出。建议永远自己给出无参构造方法
public static void main(String[] args) {
int number = 22; //从上到下,name先是22,之后被0覆盖,再有出栈操作,
String name = "briup"; //name String类型常量->方法区,当name值改变时(把briup覆盖掉),会有出栈操作(当前changename会消失)
int[] array = {1,2,3}; // array 0x001->堆区的0x001地址,当array[0]=111时,堆区同一地址的内容发生改变
changeNumber(number);
System.out.println(number);
changeName(name);
System.out.println(name);
changeArray(array);
System.out.println(array[0]);
}
public static void changeNumber(int number) {
number = 0;
}
public static void changeName(String name) {
name = "hello";
}
public static void changeArray(int[] array) {
array[0] = 111;
}
输出结果:
22,briup,111