1.面向对象的三个特征
封装,继承,多态
2.多态的优点
多态就是父类(或者接口)下可以有许多各种各样的子类,他们有不同的实现方式。所以多态具有对已存在代码的可替换性,增加新的子类的可扩充性,以及接口性,灵活性,简化性
实现方式:1.接口实现 2. 继承父类重写方法 3. 同一类中进行方法重载
3.使用接口有什么意义
规范,扩展,回调
4.使用抽象类的意义
- 为其他子类提供一个公共的类型
- 封装子类中重复定义的内容
- 定义抽象方法,子类虽然有不同的实现,但是定义时一致的
5.什么是不可变对象
不可变对象指对象一旦被创建,状态就不能再改变。任何修改都会创建一个新的对象,如 String、Integer及其它包装类。
public class ImmutableObject {
private int value;
public ImmutableObject(int value) {
this.value = value;
}
public int getValue() {
return this.value;
}
}
// 由于ImmutableObject类中没有setter方法,并且成员变量value是基本数据类型,getValue方法返回的是value的拷贝,所以一旦ImmutableObject实例被创建后,该实例的状态无法再进行更改,因此该类具备不可变性。
public static void main(String[] args) {
String str = "I love java";
String str1 = str;
System.out.println("after replace str:" + str.replace("java", "Java")); // after replace str:I love java
System.out.println("after replace str1:" + str1);
} // after replace str1:I love java
//