Day9## 知识点总结
一、抽象类和接口
抽象类:当父类方法不能满足大多数子类需求时,需要把方法变成抽象方法,抽象方法不能在普通类中,可以放在抽象类中。
1).抽象方法不能在普通类中
2).抽象类中可以有普通方法
3).抽象类中可以有构造方法
4).不能直接创建对象,间接可以
接口:全是抽象方法的抽象类是接口
1).抽象类中不可以有普通方法
2).抽象类中不可以有构造方法
3).不能实例化
4).属性默认public static final 修饰
二、String(不可变) StringBuffer(线程安全,可变的,慢) StringBuilder(非线程安全,可变的,快)
三、类加载顺序
子类静态块 非静态块 构造函数
父类静态块 非静态块 构造函数
的运行顺序?
animal static blocking 父类静态块
cat static blocking 子类静态块
animal not static blocking 父类非静态块
animal constructor 父类构造函数
cat not static blocking 子类非静态块
cat constructor 子类构造函数
四、包:
package:安全 分类 要求:网址倒叙 com.baidu.www
import:导包 java.lang 不需要导入
五、implements extends
类 implements 接口
类 extends 类
接口 extends 接口
extends:单继承
implements:多实现
加:
1,内部类(常规内部类,局部内部类,静态内部类,匿名类)
2,枚举
3,静态导入
Integer a = 100 ,b = 100;
Integer c = 1000,d = 1000;
System.out.println(ab);-------true
System.out.println(cd);-------false
为什么?因为当存储的数小于128时,数据存在虚拟机栈里,结果都为true;当存储的数大于128时数据存在堆里,结果都为false。