第二次学习任务总结
接口
普通类:只有具体的实现
抽象类:具体实现和规范(抽象方法)都有
接口:只有规范
作用
1.约束
2.定义一些方法,让不同的人实现~ 10—> 1
3.接口中的所有定义的方法其实都是抽象的 public abstract
4.属性都是常量 public static final
5.接口不能被实例化,接口中没有构造方法
6.implements可以实现多个接口
7.必须要重写接口中的方法~
// 抽象的思维
// interface 定义的关键字,接口都需要有实现类
public interface UserService {
//接口中的所有定义的方法其实都是抽象的 public abstract
//属性都是常量 public static final
public static final int AGE = 99;
public abstract void add();
void delete();
}
public interface TimeService {
void time();
}
//抽象类:extends~
//类可以实现接口 implements 接口
//实现了接口的类,就需要重写接口中的方法~
//多继承~利用接口实现多继承
public class UserServiceImpl implements UserService,TimeService{
@Override
public void add() {
}
@Override
public void delete() {
}
@Override
public void time() {
}
}
内部类
就是在一个类的内部定义一个类
分为:
- 成员内部类
- 静态内部类
- 局部内部类
- 匿名内部类
//成员内部类
public class Outer {
private int id;
public void out(){
System.out.println("这是一个外部类的方法");
}
public class Inner{
public void in(){
System.out.println("这是一个内部类的方法");
}
//获取外部类的私有属性~
public void getId(){
System.out.println(id);
}
public void set(){
out();
}
}
}
异常机制
异常指程序运行中出现的不期而至的各种状况如:文件找不到,网络连接失败,非法参数等
异常发生在程序运行期间,它影响了正常的程序执行流程
异常分类
检查性异常:最具代表性的检查异常是用户错误或问题引起的异常,这是程序员无法预见的
运行时异常:是可以被程序员避免的异常
错误:错误不是异常,而是脱离程序员控制的问题
也可以自定义异常
异常体系结构
异常处理五个关键字:try ,catch , finally , throw , throws(方法抛出异常关键字)
抛出异常与捕获异常
public class Test {
public static void main(String[] args) {
int a= 1;
int b = 0;
//假设要捕获多个异常 :从小到大依次递增的写
try {
System.out.println(a/b);
new Test().c();
}catch (Error e){
System.out.println("Error");
}catch (Exception e ){
System.out.println("Exception");
}catch (Throwable e ){
System.out.println("Throwable");
}finally {//处理善后工作
System.out.println("finally");
}
//finall 可以不要finally,可能用于Io,资源的关闭
}
public void c(){
b();
}
public void b(){
c();
}
}
public class Test2 {
public static void main(String[] args) {
int a= 1;
int b = 0;
try {
new Test2().test(1,0);
} catch (Exception e) {
e.printStackTrace();
}
}
public void test(int a , int b)throws ArithmeticException{
if(b==0)
{
throw new ArithmeticException();
}
}
}
实际应用中的经验总结