面向对象的三大特征:封装、继承、多态
有了封装,才有继承,有了继承,才能说多态
什么是封装?
对使用者来说,內部构造并不重要,只需简单操作就可以完成,那么就可以将內部构造封装起来
封装作用
- 保证內部结构的安全
- 屏蔽复杂,暴露简单
在代码级别上,封装作用:
若一个类体中的数据封装之后,调用代码的人员不需要关心代码的复杂实现,只需要通过一个简单的入口就可以访问了。类体中安全级别较高的数据封装起来,外部人员不能随意访问,以保证数据的安全性。
怎么封装?
- 属性私有化(使用private关键字进行修饰)
- 对外提供简单的访问(操作)入口,并且都不带static
一个方法专门完成读(get)
一个方法专门完成写(set)
PS:
//get方法的要求:
public 返回值类型 get+属性首字母大写(无参){
return xx;
}
//set方法的要求:
public void set+属性名首字母大写(一个参数){
xx = 参数;
}
//get方法
public int getAge(){
return age;
}
//set方法
public void setAge(int newAge){
age = newAge;
}
static
调用带有static的方法时需要通过”类名.“的方式调用。
没有带static的方法被称为实例方法(对象方法,对象级别的方法)
public class Method{
public static void main(String[] args){
Method.doSome();
// 同一类下调用可以省去类名
doSome();
// 但实例方法不能使用 类名. 的方式去访问
//Method.doOther(); //这样就是错的
// 用引用的方式去访问实例方法
Method method = new Method();
method.doOther();
}
public static void doSome(){
System.out.println("123");
}
// 该方法被称为实例方法
public void doOther(){
System.out.pringln();
}
}
通过” 类名. “的方式不可以调用set和get方法,因为只有方法修饰符列表中有static的时候才能使用该方法