Day06
多态
-
属性没多态、方法有多态(封装)
-
需要有继承关系
-
需要有重写
-
关键字
instanceof关键字
X instanceof Y:返回一个boolean类型,判断X是否属于Y类
情况有以下几种
-
Y是X类指向的子类对象的父类或X类,返回true
-
Y和X无关,编译错误
-
Y是X类指向的子类对象的父类的不相关的子类,则返回false
static关键字
匿名代码块在构造方法之前执行,而静态代码块在匿名代码块之前执行
静态导入包:
import static java.lang.Math.random;
import static java.lang.Math.PI;
这样就可以直接在静态方法里用random()方法和PI属性了
final关键字
被final修饰的类不能被继承
抽象类与接口
接口可以实现多继承,实际上是多实现implements
抽象类存在构造方法
实例化对象时,依然还是先执行父类的构造方法再到子类的构造方法
接口中的方法有默认前缀:public abstruct
接口中的属性有默认前缀:public abstruct final
借口没有构造方法
内部类
成员内部类
好处:可以调用外部类的私有属性
如果内部类的属性和方法与外部类的重名,则可以用
外部类类名.this.外部类的属性和方法来调用外部类的属性和方法
需要用外部类的对象来实例化内部类
内部类对象不能调用外部类的属性和方法
静态内部类
局部内部类
只能外部类中使用
匿名内部类
跟多态、接口有关
备注
同一个java文件里可以有多个class类,但只能有一个public class
异常
备注
异常的超类为java.lang.Throwable
Error
不可避免的错误,常指JVM
Exception
分为运行时异常(RuntimeException)和非运行时异常
关键字:
try、catch、finally、throw、throws
try代码块里存放需要监控的区域
catch代码块里存放捕获的异常及异常处理
catch可以有多个,但是范围更大的异常得在最小面
finally常用于收尾工作,比如IO、各种资源得关闭
throw用于主动抛出异常,如:
throw new ArithmeticException();//要不放在try代码块里要不就让方法throws
throws用在方法定义上,抛出异常交待后面调用这个方法的代码块来处理异常
自定义异常
-
继承Exception类
-

浙公网安备 33010602011771号