Day06

Day06

多态

  1. 属性没多态、方法有多态(封装)

  2. 需要有继承关系

  3. 需要有重写

  4. 父类引用指向子类对象

关键字

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类

  • 重写toString方法

posted @ 2021-05-24 23:35  Layman52  阅读(55)  评论(0)    收藏  举报