java学习记录

面对对象---接口

2020-04-08  本文已影响0人  一花一世界yu

一、重点知识

1.abstract可以和static一起修饰内部类

2.try里面的语句,如果出现异常,那么在异常后的语句就不执行了,但是try catch 外面的语句正常执行,try包裹的语句视为没有执行

3."throws + 异常类型"写在方法的声明处。指明此方法执行时,可能会抛出的异常类型。

4.一旦当方法体执行时,出现异常,仍会在异常代码处生成一个异常类的对象,此对象满足throws后异常类型时,就会被抛出。异常代码后续的代码,就不再执行!

5.注意代码块使用的作用域

6.finally必须直接接在catch语句的后面,中间不能加其他代码不然会报错

7.非静态代码块执行优先于构造器,用来初始化属性,也可以包含输出语句

8.静态注意throws抛出异常放在方法声明最后面,小括号的后面,花括号的前面代码块先于main函数执行

9.内部类的字节码文件名带一个$符

10.throws抛出的异常只有编译时异常一定要被处理,运行时异常抛出后,不用try-catch去再次处理,也能执行。一般我们都不处理运行时异常

11.接口的抽象方法可以定义参数,记得参数是局部变量,不是属性,记住参数(局部变量)的定义,是等待实参传值的,本质上也是先赋值,再使用

12.final 和static在使用时没有先后顺序要求

13.注意接口创建对象使用时用多态,可以极大降低程序的耦合性,注意多态在接口中的体现。面对接口编程

14.子类构造器重载,形参名可以与父类的不一样,但是任然调用的是父类对应的构造器
public class MyException extends RuntimeException{
static final long serialVersionUID = -7034897193246939L;
public MyException(){
}
public MyException(String msg){
super(msg);
}
}

15.接口是允许多继承的,一个接口可以继承多个接口因为抽象方法没有具体的方法体,方法是安全的,如果类允许多继承,方法是不安全的

16.如果实现类没有实现接口的所有抽象方法,那么这个实现类得是抽象得

17.记得异常后面的代码是不执行的

18.默认方法只能在接口中被定义,但是可以在其实现类中被重写,重写不用加default.

二、重点问题

类什么时候被加载到内存当中

当主函数中调用类的静态结构

或者创建类的对象

或者创建子类的对象

主动加载calss.forName("包名.类名")

关于class.forName的解析

https://www.cnblogs.com/ljbguanli/p/7107058.html

只要和这个类沾边了,这个类就会被加载

三、课堂知识

1接口

1.2 接口的概念

从语法的角度:接口是一种特殊的抽象类。这种抽象类只包含了抽象方法和静态常量,没有方法的实现。也就是说:接口中都是抽象方法和静态常量的集合。

从功能的角度:接口表示一种约定,或者能力。

1.3 Java中的接口的语法格式

//定义一个接口,语法

interface 接口名{

    //1.静态常量

    //2.抽象方法

}

实现类,实现一个接口的语法:

class 实现类 implements 接口名{

}

1.4 接口的特点

1.接口不能创建对象,不能被实例化。而且接口中没有构造方法。

2.接口中的方法,一般都是公共的抽象方法:public abstract来修饰

3.接口中的属性,都是公共的静态常量:public static final来修饰

4.在一个接口中,声明方法的时候,如果没有声明访问权限,默认也是public的。如果没有其他的修饰符默认也是abstract。声明属性,如果没有声明访问权限和其他的关键字,默认也是public static final。
publicinterface接口名{
    publicstaticfinal数据类型常量名="初始值";
    publicabstractvoidtest();
}

1.5 接口的好处

1.降低代码之间的耦合性:(藕断丝连),类和类之间,耦合性越低越好。

2.定义的都是规则,对外保持接口的一致。

3.接口可以多继承

1.6 接口的注意点

1、接口可以多继承

一个接口允许继承另外一个接口,而且允许继承多个接口。只不过该接口的实现类,要实现该接口中,以及从父接口中继承来的抽象方法,都需要实现。

接口中:声明都是抽象方法。只有声明(描述功能),没有具体的实现(完成这个功能)。声明和实现分离。

2、一个类还可以实现多个接口

一个实现类,可以同时实现多个接口。

3、一个实现类如果没有实现接口中的所有的方法,那么该类是抽象的。等待子类继承,并实现其他的抽象方法。

4、一个类也可以继承父类,同时实现接口。

5、jdk1.8的新特性:static方法 、default方法。

上一篇下一篇

猜你喜欢

热点阅读