面向对象的三大特性:
(1)封装性
(2)继承性
(3)多态性
类中的每一个属性都要用private进行封装!
private,顾名思义,“私人的”,类内部的信息对于外部是不可见的,是本类私有的信息,如果想要访问的话,只能通过该对象对外部提供的接口进行访问(setter和getter方法)。
使用面向对象封装性的优点可以总结为:
(1)能够减少类之间的耦合性;
(2)类内部的结构对外不可见,且能够自由的修改;
(3)隐藏隐私信息,并且可以控制属性的输入限制。
代码示例:
class Person{//Person类
private String name;//封装属性
private int age; //封装属性
//以下方法都是对象对外提供访问的接口
public void setName(String name) {
this.name=name;
}
public void setAge(int age) {//可以控制属性的输入限制
if (age<0&&age>120) {
System.out.println("error");
}else {
this.age=age;
}
}
public String getName() {
return this.name;
}
//没有getAge方法,说明该人的年龄不可以获得,保密。(女生一般都不想让别人知道年龄很正常啊)
/**public int getAge() {
return this.age;
}*/
public void getInfo(){//普通方法
System.out.println("name="+name+",age="+age);
}
}
public class TestDemo{
public static void main(String[] args){
//类名称 对象名称=new 类名称();
Person per=new Person();
per.setName("张三");
per.setAge(20);
per.getInfo();
}
}
运行结果:
name=张三,age=20