java语言程序学习

第二次学习任务总结

接口

普通类:只有具体的实现
抽象类:具体实现和规范(抽象方法)都有
接口:只有规范
作用
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();
        }
    }
}

实际应用中的经验总结
实际应用中的经验总结

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值