2022.5.6
抽象类
有些父类中的方法对于不同的子类有自己具体的实现,可将该方法设置成抽象的名词是该弗雷设置成抽象类。子类必须重写父类中所有的抽象方法。
注意点
- 所有抽象类一定可以被继承
- 抽象类也有自己默认的构造器
- 不能全部构造器都是私有的
- 抽象类不可以final,static,private修饰
- 如果子类不想被继承,那么也可以设置为抽象类
- 抽象类不可以new对象,那么由谁来实现?
接口
是一种特殊的抽象类
内部类
类里面的类【变量】
- 方法内部类
- 成员内部类:
- 对象级别
- 类级别
为什么要用方法内部类?
有时候就想某个类只能在某个方法中使用
单例模式
在程序运行期间,某一个类最多只能创建一个对象,避免重复创建对象提高性能
方式:
- 饿汉式:提前创建好对象提供使用
- 懒汉式:要加上线程安全的控制
- 枚举
true;
私有构造器-Private static 对象-对外提供获取对象的方法
多态
(代码更简洁)
一个对象有多种状态,只有运行的时候才能确定
- 继承
- 接口
代码块
【代码的集合】
- 普通代码块【可以理解为里面的代码放在了构造器中】
特点:没创建一个对象都会执行一次普通代码块里面的代码
2.静态代码块
特点:随着类加载器加载字节码文件的时候会执行里面的代码,只会执行一次
使用场景:加载软件初始化参数[加载配置文件]
【面试题】请罗列常见的运行时异常
NullPointerException
AirthmeticException[算术运算时异常,如0/0]
ArrayIndexOutOfBoundsException
ClassCastException
如果想让调用者知道底层的异常信息,往上抛出异常



