补记 Java接口
接口继承接口,类继承类,类实现接口
interface valuable {
public void getMoney();
}
interface Protectable {
public void beProtected()
}
interface A extends Protectable {
void m();
void getMoney();
}
class Hen extends A, valuable{
public void m();
public void beProteccted();
public double getMoney() {
return 1.0;
}
}
相同的方法在类中无法实现,尽量避免接口不同的相同方法
常见异常的处理
根据初学小伙伴的惨痛经历,我们需要一套具有逻辑和一些基础的异常处理技巧,帮我们找到问题所在,记住,编程就是debug的过程。小伙伴们,来debug吧!
1. try 和 catch的使用:
这俩得搭配着用,下面是范例:
try {
system.out.println("****"); (这里面是有可能抛出异常的语句)
} catch(SomeException1 ae) {
ae.printStackTrace(); (将可能的错误显示出来,这个语句用于发现与上一语句相关联的可能的错误,主要帮助程序猿们找到错误的蛛丝马迹!)
或者用:getMessage()方法得到有关异常事件的信息
} catch (someException2 e){
``````
} finally { /*当扑捉到某个异常后,还可以继续执行程序,是异常处理的统一出口,使得在控制流程中转到程序的其他部分以前,能够对程序的状态做统一的管理。无论try所指定的程序块是否抛出异常,finally所指定的代码都要被执行
``````
}
【try可以接多个catch,只有try中有异常,catch语句才被执行】
2.异常的分类:
Throwable (抛出异常)------
(1)Error(处理不了的系统错误)
(2)Exception{Runtime Exception及其他的Exception}(可处理的错误):Runtime Exception可不处理,编译时会报错:如被0除,数组下标溢出等,可由系统自动检测并将它们交给缺省的异常处理程序。但是其他的Exception需要catch,进行声明或捕捉以便抛出
3.处理不了的exception,抛给上一级处理,交给运行时的系统
void f2() throws IOExpection {
f();
}
4.使用自定义异常:
(1)通过继承 java.lang.Exception 类声明自己的异常类
(2)在方法适当的位置生成自定义异常类的实例,并用throw语句抛出
(3)在方法的声明部分用throws语句声明该方法抛出可能的异常。