封装、继承、多态
封装:
封装的好处:
1、封装之后,看不到事物复杂的一面,只能看到该事物简单的一面。
复杂性封装,对外提供简单的操作入口。
照相机、电视机典型的封装案例
2、封装之后才能形成真正的“对象”,真正的“独立体”
3、封装意味着以后的程序能够重复使用。且这个事物适应性应该较强,在任何场合都可以使用。
4、封装之后,对于事物本身提高安全性
封装有什么作用:
封装是面向对象的三大特征之一,封装之后才能产生真正的对象,将事物的复杂性封装起来,只提供简单的操作入口。
封装的步骤:
1、属性私有化,使用private关键字进行修饰,修饰的所有数据只能在本类中访问
2、对外提供简单的操作入口,外部程序必须通过入口进行访问
——提供set方法、get方法
——修改,set方法
——读取,get方法
只能通过set、get方法进行访问
在set、get方法执行过程中可以进行安全过滤
3、set方法
public void set+属性名首字母大写(形参){
}
public void setAge(int a){
}
4、get方法
public 返回值类型 get+属性名首字母大写(形参){
}
public int getAge(){
return age;
}
5、注意
**set、get方法没有static关键字
**有static关键字的方法调用:类名.方法名(实参);
**没有static关键字修饰的方法调用:引用.方法名(实参);
User
public class User{
private int age = 20;
public void getAge(){
return age;
}
public int setAge(int a){
age = a;
}
}
调用
public class UserTest{
public static void main(String[] args){
User user = new User();
System.out.println(user.getAge());
user.setAge() = 18;
System.out.println(user.getAge());
}
}
输出结果:
20
18
自动封装
右键,Source——>Generate Getters and Setters
或
Alt + Shift + s——>Generate Getters and Setters
public class User {
private int age = 20;
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}