- interface 接口 关键字
- JAVA中,接口和类是并列的俩个结构
- 如何定义接口,定义接口中的成员
i. 全局常量:public static final , 书写时,可省略不写
ii. 抽象方法:public abstract,同上
iii. 静态方法、默认方法 - 接口中不能定义构造器,意味接口不可以实例化
- JAVA开发中,接口通过让类去实现(implements)的方式来使用。
- 如果实现类覆盖了接口中的所有抽象方法,就可以实例化,如果没有实现完,则该类仍然为抽象类。
- JAVA类可以实现多个接口,弥补了JAVA单继承性的局限性
格式:class AA extends BB implements CC,DD,EE
e) 接口与接口间可以继承,且可以多继承
- JAVA 异常错误
- 栈溢出:java.lang.StackOverflowError
- 堆溢出:java.lang.OutOfMemoryError
-
try catch
try{ //可能产生异常的代码
}catch(ExceptionName1 e){//产生异常1时的处置措施
} catch(ExceptionName1 e){//产生异常2时的处置措施
}……
[finally{//无论是否发生异常,都无条件执行的语句
}]可不写 -
(手动)抛出异常 throw 声明异常 throws
- 可以自定义异常类,继承Exception类,然后在写一些方法时就可以用自定义的去处理
- 然后在主方法中运行时,就可以用try catch去捕获之前写的相关的异常
- 因为抛出异常是会停止运行程序的,而try catch不会
- 项目中接口的一般使用
- 可以用来给实体类自定义要实现什么功能,接口声明的方法必须都要实现重写
- 实体类包含:
- 私有的属性
- 属性对应的public set、get方法
- 还有空参构造器,(构造器是没有返回值类型的,public 构造器(){})
- 包含属性的参数的构造器,里面this.属性=属性,赋值
- 以及一些方法
- 实体类还可以继承,用来表明是某类相似的事物
- 项目中的业务类
- 一般可以创建 实体类的数组 来进行数据操作:private 实体类名[] 对象名
- 还可以自定义异常类,来对一些方法进行异常抛出
- 项目中的视图类
- 创建业务类的对象,方便去调用业务类中的方法
- Thread中的常用方法
- start():启动当前线程:调用当前线程的run()
- run():通常需要重写Thread类中的此方法,将创建的线程要执行的操作声明在此方法中
- currentThread():静态方法,返回当前代码执行的线程
- getName():获取当前线程的名字
- setName():设置当前线程的名字
- yield():释放当前 CPU的执行权
- join():在线程A中调用线程B的join(),此时线程A就进入阻塞状态,直到线程B完全执行完以后,线程A才结束阻塞状态
- sleep(Long millitime):让当前线程“睡眠”指定的millitime(毫秒),在时间内,当前线程是阻塞状态
- isAlive():判断当前线程是否存活
- 如何获取和设置当前线程的优先级:
- MAX_PRIORITY:10 MIN_PRIORITY:1 NORM_PRIORITY:5(默认)
- getPriority():获取线程的优先级
- setPriority(int p):设置线程的优先级
- 创建多线程方法:
- 1.继承Thread 重写 run方法 调用start
- 1.创建一个实现Runnable接口的类
2.实现类去实现Runnable中的抽象方法:run()
3.创建实现类的对象
4.将此对象作为参数传递到Thread类的构造器中,创建Thread类的对象
5.通过Thread类的对象调用start()