封装:隐藏对象的属性和实现细节,仅对外提供公共访问方式,私有修饰成员变量提供公共访问方式,将不需要对外提供的内容都私有化也就是封装。
例如学生类,其成员变量有姓名和年龄,成员方法有学习和吃饭;当测试学生类时输入年龄并不符合实际那么就要在学生类的成员方法中对年龄进行判断,将年龄这个成员变量变成私有的,在开一个共同访问的方法对其进行判断,这就是封装思想。
//姓名
String name;
//年龄
private int age;
//写一个方法对数据进行校验
/*
返回值类型:void
参数列表:int a
*/
public void setAge(int a) {
if(a < 0 || age > 120) {
System.out.println("你给的年龄有问题");
}else {
age = a;
}
}
这只是讲述一下封装思想,在实际项目中这种传递还是无用的因为他并没有将判断传递到测试类中。
因此引出private
(private只是封装的一种体现,类和方法实际也是一种封装体)
private用于将成员变量私有化和提供set###()设置值和get##()获取值方法
private String name;
private int age;
//年龄获取
public int getAge() {
return age;
}
//年龄赋值
public void setAge(int age) {
this.age=age;
}
//姓名获取
public String getName() {
return name;
}
//姓名赋值
public void setName(String name) {
this.name=name;
}
this关键字是当前类的对象引用,简单的讲它代表当前类的对象
方法被哪个对象调用,this就代表那个对象
public static void main(String[] args) {
Student s = new Student();
/*s.setAge(15);
s.setName("cakjs");*/
System.out.println(s.getName()+"---"+s.getAge());
}
输出结果为:null---0