天天看点

封装,this关键字以及构造方法

1. 封装

  • 含义 :隐藏对象的属性及细节,仅提供对外访问的方式
  • 好处:隐藏实现细节,提供公共的访问方式

       提高了代码的复用性

       提高安全性

  • 应用: 采用private关键字
    注意: private关键字只是封装的一种,不能讲封装就是private
               
    • private关键字特点:
      • (1)是一个权限修饰符
      • (2) 可以修饰成员变量和成员方法
      • (3) 被修饰的成员只能在本类中被访问

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