0x00:封装

private 关键字:

  • 是一个权限修饰符
  • 可以修饰成员(成员变量和成员方法)
  • 作用是保护成员不被别的类使用,被private修饰的成员只在本类中才能访问

针对 private 修饰的成员变量,如果需要被其他类使用,提供相应的操作

  • 提供 “get变量名()”方法,用于获取成员变量的值,方法用 public 修饰
  • 提供“set变量名(参数)”方法,用于设置成员变量的值,方法用 public 修饰 ``` package Test;

public class Student { //成员变量 String name; private int age; // 用privat 修饰age

  1. //定义一个成员方法,设置 age的值,方便被其它类调用
  2. public void setAge(int a){
  3. if(a<0||a>120){
  4. System.out.println("年龄有误");
  5. }else {
  6. age = a;
  7. }
  8. }
  9. // 定义一个 成员方法,获取age的值,方便被其它类调用
  10. public int getAge(){
  11. return age;
  12. }
  13. //成员方法
  14. public void show(){
  15. System.out.println(name+ ","+age);
  16. }

}

  1. ```
  2. package Test;
  3. public class StudentDemo {
  4. public static void main(String[] args) {
  5. Student s = new Student();
  6. s.setName("lele"); //设置值
  7. s.setAge(30); //设置值
  8. s.show(); // 调用对象中的方法
  9. System.out.println("======");
  10. System.out.println(s.getName()+"-----"+s.getAge());
  11. }
  12. }

this 关键字

① this 修饰的变量用于指代成员变量

  • 方法的形参如果与成员变量同名,不带 this 修饰的变量指的是形参,而不是成员变量。
  • 方法的形参没有与成员变量同名,不带this修饰变量指的是成员变量。

image.png
②:什么时候使用this ? 解决局部变量隐藏成员变量的问题
③:this 代表所在类的对象引用,方法被那个对象调用,this 就代表那个对象。
image.png

1. 封装概述:

是面向对象三大特征之一(封装、继承、多态)
是面向对象编程语言对客观世界的模拟,客观世界里成员成员变量都是隐藏在对象内部的,外界无法直接操作的。

2. 封装原则:

将类的某些信息隐藏在类内部,不允许外部程序访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问。成员变量 private, 提供对应的 getXxx() / setXxx()方法。

3. 封装的好处:

通过方法来控制成员变量的操作,提高了代码的安全型
把代码用方法进行封装,提高了代码的复用性