01面向对象封装

重点难点

1. 类和对象概念

类 - 对【对象】的抽象,是【对象】的模板

对象 - 对现实中的事务具体描述,实体

public class 类名 {
   变量类型 变量名; // 成员变量
   
   public 返回值类型 方法名(参数) {
       变量类型 变量名; // 局部变量
  }
}

语法

类名 对象名 = new 类名(); // 创建对象,并且起了一个名字,变量名

对象名.成员变量
   
对象名.方法名(参数)

2. 对象的内存使用分布情况

  • new 对象 使用的是堆内存

  • 要执行的代码(方法)以及 *.class,使用的是方法区内存

  • 方法执行时的局部变量,使用的是栈内存

3. 方法参数传递

基本类型参数

public class Test {
   public static void main(String[] args) {
       int a = 5;
       test(a);
       System.out.println(a); // 5 , 10
  }

   public static void test(int b) {
       b = 10;
  }
}

引用类型参数

public class TestStudent {
   public static void main(String[] args) {
       // 对象名,对象引用   真正对象
       Student s =      new Student();
       s.name = "张三"; // 001
       test(s);
       System.out.println(s.name); // 张三 ? 李四
  }

   public static void test(Student s2) { // 001
       s2 = new Student(); // 002
       s2.name = "李四"; // 002 对象name
       System.out.println("test2:" + s2.name);
  }
}
public class TestStudent {
   public static void main(String[] args) {
       // 对象名,对象引用   真正对象
       Student s =      new Student();
       s.name = "张三"; // 001
       test(s);
       System.out.println(s.name); // 张三 ? 李四
  }

   public static void test(Student s2) { // 001
       s2.name = "李四"; // 001 对象name
       System.out.println("test2:" + s2.name);
  }
}

4. 了解内容

垃圾回收

局部变量和成员变量区别

5. 封装

private

public class 类 {
   private 类型 变量名; // 让变量是私有的
   
   public void set变量名(类型 形参) {
       变量名 = 形参;
  }
   
   public 类型 get变量名() {
       return 变量名;
  }
}

this

this 的作用就是用来解决局部变量和成员变量的名称冲突

this 就代表当前对象, 哪个对象调用了 set get 方法,this 就是哪个对象

封装好处

总结:

  • 安全性

  • 复用性

  • 隐藏代码的复杂性

// KISS
// keep it short and simple
// keep it simple and stupid

6. 构造方法

public class 类 {
   
   // 无参构造,空参构造
   public 类() {
       
  }
   // 有参构造
   public 类(参数) {
       // 使用参数给成员变量赋初值
  }    
   // 就算自己不写构造方法,java 也会提供一个无参构造
}

// new Student("张三", 18)

// 1. 创建对象,分配内存空间,name(null),age(0) 都是默认值

// 2. 调用构造,接收构造方法的参数,赋值给成员变量 name(张三), age(18)

posted on 2020-09-15 21:22  旅行alt  阅读(77)  评论(0)    收藏  举报