面向对象三大特征:封装、继承、多态。
封装:
使用访问控制符可以将对象中不允许外部程序直接访问的重要属性,隐藏在对象内部。这一过程在Java中叫封装
作用:
1.隐藏类的实现细节。
2.让使用者都只能通过事先预定的方法来访问数据,从而可以在该方法里加入控制逻辑,限制对属性的不合理访问
3.可进行数据检查,从而有利于保证对象信息的完整性。
4.便于修改,提高代码的可维护性。
eg:public class Test {
public void getInfo() {
//假如说在此方法中可以获取多个数据,问如果要该方法把这些数据都写在返回值当中怎么做?
String name="张三";
String sex="男";
int age=18;
String hobby="篮球.足球'';
double weight=75.3;//单位公斤
}
}
封装的用法:
在People类中将要封装的属性使用private修饰,再给封装的属性添加setXxx(),getXxx()方法。这样其他的类就无法直接访问People类的属性,要访问只能通过setXxx()和getXxx()方法。
public class People {
private String name;
private String sex;
private int age;
private String hobby;
private double weight;//单位公斤
public String getName() {
return name;
}
public void setName(String name) {
if(name.length()<=6){
this.name = name;
}else{
System.out.println("请输入正确姓名");
}
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
if("女".equals(sex)||"男".equals(sex)){
this.sex = sex;
}else{
System.out.println("性别只能输入男或女");
}
}
public int getAge() {
return age;
}
public void setAge(int age) {
if(age>0){
this.age = age;
}else{
System.out.println("请输入正确年龄");
}
}
public String getHobby() {
return hobby;
}
public void setHobby(String hobby) {
this.hobby = hobby;
}
public double getWeight() {
return weight;
}
public void setWeight(double weight) {
this.weight = weight;
}
}