面向对象的三大特征:封装、继承、多态
封装的好处:
- 提高了代码的复用性
- 隐藏了实现细节,还要对外提供可以访问的方式,便于调用者的使用,这是核心之一,也可以理解为封装的概念
- 提高了安全性
package Day9;
public class Person {
String name;
private int age;
public void setName(String name) {
this.name = name;
}
public void setAge(int age) {
if (age <0 || age >100){
this.age = 20;
}
else this.age = age;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
public void speak(){
System.out.println(name + " " + age);
}
}
- 总结:类中不需要对外提供的属性都私有化,包括属性和方法。并提供setter和getter方法对其进行访问
This关键字
当在方法中出现了成员变量和局部变量同名时,可以用在成员变量前加this关键字来区分。
This关键字:本类的对象引用
哪个对象调用的,this就表示哪一个对象
public boolean compare(Person p){
return this.age == p.age;
}
main方法中:
boolean b = p1.compare(p2);
System.out.println(b); -- false