1.介绍封装:
面向对象实际上越来越接近现实世界,现实世界的成员变量都是隐藏在对象内部的,外界无法直接操作和修改。设想一下如果外界能够修改你的名字。那么一定是你主动去找警察局吧aha。
封装可以被认为是一个保护屏障,防止该类的代码和数据被其他类随意访问。要访问该类的数据,
必须通过指定的方式。适当的封装可以让代码更容易理解与维护,拒绝不合理代码,增强代码的安全性。
举个栗子:
人类是个类对吧。他里面的对象,比如张三,如果李四能够随便修改张三的名字和他的行为和他的银行卡余额那么该多么可怕。所以我们需要封装起来。不让外界直接修改和操作。
2.封装机制:
将属性隐藏起来,若需要访问某个属性,提供公共方法对其访问。(getter/setter)
3.封装的步骤:(定义的方法其实也是一种封装)
1.使用private关键字来修饰成员变量
2.对需要访问的成员变量,提供对应的一堆getXxx方法、setXxx方法。
4.封装的操作private介绍
1.private是一个权限修饰符,代表最小权限,只能本类访问。
2.可以修饰成员变量和成员方法。
3.被private修饰后的成员变量和成员方法,只能写在本类才能访问(外部访问要借用getter/setter)
private的使用格式
private 数据类型 变量名 ;
使用private修饰成员变量
private String name;
提供getXxx方法和setXxx方法,可以访问成员变量【idea快捷键】
对于Getter来说,不能有参数,返回值类型和成员变量对应;
对于Setter来说,不能有返回值,参数类型和成员变量对应。
public class Student {
private String name;
private int age;
public void setName(String n) {
name = n;
}
public String getName() {
return name;
}
public void setAge(int a) {
age = a;
}
public int getAge() {
return age;
}
}
调用getXxx方法和setXxx方法
//先实例化类
Student study = new Student;
//用什么方法.什么方法
study.getName(参数列表)
study.getAge(参数列表)