封装
- 将属性私有化
- 为属性提供get/set方法
public class User {
private String username; //属性私有化
private String password;
//get/set方法
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
继承
1.语法
class 子类 extends 父类名 { }
2.继承的好处
提高了代码的可复用性,父类中的属性和方法在子类中仍可以使用
提高了代码的可扩展性,当父类中的属性和方法不够使用时,可以在子类中扩充
注意:
private 修饰的属性和方法 不可以被子类所使用
父类中的构造方法,子类也不会继承
访问修饰符
访问范围 | private(私有的) | default() | protected | public |
---|---|---|---|---|
同一类中 | ok | ok | ok | ok |
同一包中 | ok | ok | ok | |
子类中 | ok | ok | ||
全局范围 | ok |
多态
1. 父类类型 引用名 = 子类应用;
例: Dog dog = new Dog();
Animal an = dog;
2.父类类型 引用名 = new 子类类型();
例: Animal an1 = new Dog();
Animal an2 = new Cat();
多态存在的三个必要条件:
- 要有继承
- 要有重写
- 父类引用指向子类对象
多态的好处
1.屏蔽了子类间的差异 使得代码变得更为灵活
2.解耦合,方便协同开发