Java学习——Java面向对象 ——封装
封装的理解
面向对象编程是对现实事物的模拟化,以人为例,现实中某个人A的姓名,年龄还有会什么技能这些属性和行为,其他的陌生人无法直接去了解到的。必须是用这个人能接受的方法或者是一个熟悉的人去询问出来(一个中间的过程),然后告诉这个想知道的人。这个过程中,姓名年龄技能这些东西就相当于被(关键字)private修饰,这个人能接受的方法(公开的访问方法).而陌生人就相当于一个其他的类。
显而易见,封装最明显的优点就是可以保护该类中的一些信息(成员变量,成员方法),加强代码的安全性
private关键字
含义
1.权限修饰,表示私有的
2.可以修饰成员变量和成员方法
3.被private修饰的成员变量和方法只能在本类中访问
书写格式
private String name;
private int age;
如何在外部访问private成员(setXXX/getXXX方法)
private修饰的成员部分无法直接在类外部访问,需要设置统一的公开方法来访问这些private成员(格式如下:)
class Person{
private String name;
private int age;
public void setName(String name){
name = name;
}
public String getName(){
return name;
}
public void setAge(int age){
age = age;
}
public int getAge(){
return age;
}
}
this关键字
在上面的setXXX/getXXX方法中我们会发现,方法中的局部变量可能会出现于成员变量重名的现象,会出现赋值不成功的情况
this的含义
用于表示本类的地址,(this.name)可以用来表示该类中name成员变量,防止成员变量和局部变量重名时无法正常赋值的情况,效果如下: