JAVA复习(十)Comparable_可变字符串

基本上comparable方法可以被comparator替代

实现comparab接口就要重写comparaTo方法,string里已经实现了接口,可以直接用

 

 

集合或者数组sort方法的形参;

 -------

 

 

 

stringbuffer默认输入的数组长度是16,如果超过16就调用方法位运算<<1,(乘2)再加2,(相当于原来的扩大两倍加二)够了就new新的数组长度为数据的长度,然后再进行存放;

 

length是数组长度,capacityt是数组内的真实值

 超过两倍+2,才创造新的数组,否则就在原来数组添加;

----异常

这句话详见下一个例子

 写出一个会抛出异常的方法,如果你调用这个方法,不符合要求,就会出异常;

---

 

 

Throwable

_Error

_Exception

        _编译时异常

        _非编译时异常(编译就要抛出的)(运行时异常)

 

  编译时异常的父类 Exception

运行时异常的父类RuntimeException

 总结:运行时异常会自动往上抛出,直至JVM,JVM中止程序,在控制台打印信息;

 最多产生一个异常,但是catch的方法是多个的; 运行时异常不需要捕获

 一个try中最多产生一个异常

 after不输出了,出现了异常直接跳过这个after了;

----

多分支的try-catch

具有多个catch分支的结构,可以同时处理多个不同类型的异常;

可针对不同的异常完成不同的输出;

在catch中运行时异常可以随便写(但是没什么意义),编译时异常必须要有出现异常可能的代码;

----

throws与throw

单三是计算机丢上去,就是在形参之前写

throw是主动丢出来 ,在局部写

---

throws

throws加运行时异常没有任何意义,因运行时异常默认就是throws;

编译时异常,可以声明抛出:但仅仅表示异常抛出的可能性,告诉方法调用者可能会抛出异常,是否真的会抛出异常,取决于方法体中的代码执行;

 -------

总体上的原则是:子类中的覆盖方法,不能比父类中的方法抛出更多异常;(一般就抛出一样就行,运行时无所谓 ,因为没什么意义)

 

 如果父类抛出了编译时异常,子类抛同时或者更小;

 原因:多态的时候 接不住回来的更大异常值;

 

------------------

throw 

 

 return 一个异常 或者直接抛一个异常

写一个方法,不符合的时候将会抛出一个异常.然后调用方法的地方,再try catch抓住

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值