Java工具类1

StringBuffer类:StringBuilder

String类一旦定义,就不能改变,只能改变String对象引用。任何一个字符都是String类的匿名对象。

String 与StringBuffer 均派生于CharSequence。

StringBuffer是线程安全的,StringBuilder(优先)不是。

 

RunTime类:

每个JVM进程中均有一个RunTime类的对象,维持一些运行时的属性即创建新进程的操作。

RunTime是单列类:Runtime run =Runtime.getRuntime();

可以取得内存等,gc()也在该类中。

Runtime最重要的作用是exec()调用本机方法,返回一个进程的对象。

 

System类:

System.gc() 会调用 Runtime.getRuntime().gc();

若一个对象在销毁前需考虑一些收尾的事,需考虑复写Object类的finalize()。在对象回收前,就算抛出了任何异常,也不会影响程序流程。

final:定义不能不继承的类,不能赋值的常量。

 

一个interface中,所有方法为公开、抽象方法;所有的属性都是公开public、静态static、常量final。  且必须给其初值.

Abstract:

1. 一个类中如果所有的方法都有实现,我们仍然可以定义这个类为abstract class

2. abstract不能和static,private放在一起定义方法。

抽象类是一个类,所以,它有构造方法。抽象类中的构造方法供子类实例化调用。

有5点不同:

1:interface被继承时用的关键字是implements,而且可以同时implements多个interface,而abstractclass被继承时用的关键字是extends,而且只能同时extends一个abstract class。 

2:interface内定义的方法都是public的,而abstractclass内的则不一定。 

3:interface内定义的成员对象都是public & static & final的,而abstract class不是 , 可以有自己的数据成员.

4:interface的方法不能有默认实现,只有一个声明,而abstractclass内声明abstract的方法不能有实现,非声明abstract的方法可以有默认实现。 

在Java 8中,接口中的方法可以被实现。接口中被实现的方法叫做default方法,用关键字default作为修饰符来标识。也可以称为Defender方法。

5:interface被implements时,所有方法都必须被实现,必须声明是public的,而abstract class被extends时只有abstract的方法才必须被实现,别的有默认实现的直接被继承过来。 

 

7比较器:

若需将一个类定义的可以排序,需让之实现Comparable<T>,并实现compareTo(T o),返回1,0,-1,再通过Array.sort()排序。

Compareble是类定义时的接口,实现compareTo,这样该类数组可以排序;定义在类内部。

Comparator是专门定义一个类的比较规则,实现compare。定义在类外部。

BigInteger不能保存小数,BigDecimal可以有小数。可以使用BigDecimal实现准确的四舍五入。

如果一个类没有自己定义equals方法,它默认的equals方法(从Object类继承的)就是使用==操作符,即比较地址是否相同。

被覆盖的方法不能为private,否则在其子类中只是新定义了一个方法,并没有对其进行覆盖。

super.clone();因为首先要把父类中的成员复制到位,然后才是复制自己的成员。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值