封装:
封装概念:
封装是面向对象三大特征之一(封装
,继承,多态),目的就是隐藏实现细节,仅对外暴露公共的访问方式封装原则
将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问,成员变量private,提供对应的getXxx()/setXxx()方法封装好处:
通过方法来控制成员变量的操作,提高了代码的安全性
把代码用方法进行封装,提高了代码的复用性
private特点:
被private修饰的成员,只能在本类进行访问,针对private修饰的成员变量,如果需要被其他类使用,需要提供相应的操作,
private:
权限修饰符,可以修饰本类的变量和方法
- 提供
get
方法,用于获取成员变量的值,方法用public修饰- 提供
set
方法,用于设置成员变量的值,方法用public修饰
学生类
public class Student {private String name;private int age;public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}
}
测试类
public class StudentTest {public static void main(String[] args) {Student s = new Student();s.setName("itzhuzhu");s.setAge(23);System.out.println(s.getName() + s.getAge());}
}
this:
概念 :
this修饰的变量用于指代成员变量,其主要作用是(区分局部变量和成员变量的重名问题)
- 方法的形参如果与成员变量同名,不带this修饰的变量指的是形参,而不是成员变量
- 方法的形参没有与成员变量同名,不带this修饰的变量指的是成员变量
- this代表对象内存地址,方法被哪个对象调用,this就代表哪个对象
private int age;public void setName(String name) {this.name = name;// this.name 是成员变量private int age;// name是setName方法的参数// this.name = name;把参数name赋值给成员变量}