封装详解
-------------------------------------------------------------------------------------------------
package com.oop.Demo4;
//类 private:私有
/*封装的意义:
1.提高程序的安全性,保护数据
2.隐藏代码的实现细节
3.统一接口、形成规范
4.系统的可维护性增加了
*/
public class Student {
//名字、学号、性别、学习()、睡觉()
//封装大多数对于属性,对于方法比较少
private String name;//名字
private String id;//学号
private String sex;//性别
private int age;//年龄
public int getAge() {
return age;
}
public void setAge(int age) {
//可以做一些安全性检测
if (age > 120||age < 0){
this.age=3;
}else {
this.age = age;
}
}
//提供一些可以操作这个属性的方法
//提供一些public的get.set方法
//get获得这个数据
public String getName(){
return this.name;
}
//get给这个数据设置值
public void setName(String name){
this.name=name;
}
//alt+insert自动生成方法
//Code-->Generate->constructor-->Getter and Setter
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
}
=================================================
package com.oop;
import com.oop.Demo4.Student;
public class Application {
public static void main(String[] args) {
Student s1 = new Student();
s1.setName("青石");
//s1.getName.sout
System.out.println(s1.getName());
s1.setAge(155);//不合法
System.out.println(s1.getAge());
}
}
----------------------------------------------------------------------
重载经常使用,getset用重载比较少,一般用构造器比较多