Day2 JAVASE

instanceof 继承关系

Object>String

Object>Person>Student

Object>Person>Teacher

System.out.println(x instanceof y)//编译能不能通过看x,y有无继承关系

 

类型的转换

1.父类引用子类的对象可以直接引用

2.把子类转换成父类,向上转型,直接转换

3.把父类转换成子类,向下转型,强制转换  会存在方法丢失//( 类似于C中数据类型的转换 )

4.方便方法的调用,减少重复的代码

例如,当创建了一个父类的对象时,想要调用子类的方法,子类中又有父类没有的方法,时就需要强制类型转化

 

static解析

1.static (静态)和类一起加载,当主类中要调用静态属性和静态方法的时候都需要可以直接用类去调用,当主类中要掉用一般方法的时候是需要去创建一个对象的。、

2.一个类中存在一个匿名代码块,一般不去使用,也可以创建一个静态代码块static{}这个代码块会和类一起加载,比构造器都先加载,可以用来定义一些属性。

3.static还可以调用静态包,比如import static java.long.Math.random.调用包后可以直接调用random()方法

 

抽象类

abstract 抽象类:类 extends:单继承

抽象类:抽象类中可以写普通方法但是不能去new 这个抽象类,只能靠子类去实现他,约束

抽象方法:必须在抽象类中

 抽象类也有构造器,但是因为抽象类不能new,所以要创建一个子类去继承抽象类再去new子类调用抽象类的构造方法

 

接口

1.约束

2.定义一些方法,让不同的人去实现,让不同的类去继承(实现)

3.接口中的方法都是抽象的方法,属性都是常量,public static abstract; public static final

4.接口不能被实例化,接口中没有构造方法,implements可以实现多个接口,必须重写接口中的方法。

 

异常

 

要捕获多个异常需要从小到大去生成。

快捷键Alt+/

try监视区域+catch捕获异常区域+finally(可以省略)善后工作

throw和throws

throw在方法体中抛出异常,throws是在方法上去抛出异常。

自定义异常

1.首先要在自定义的异常类中继承Exception大类,才能定义异常

2.在定义异常时可以调用构造方法去定义,使用public String toString()去写输出异常的根e。

3.一般在方法体中我们使用throw和throws主动抛出异常并且给上一级捕获,然后再调用方法的主方法中try检测方法,catch捕获异常并且使用定义好的e去输出,提示

 

posted @ 2022-12-09 16:24  JK02  阅读(27)  评论(0)    收藏  举报