java小结3

1.对象回收机制

2.修饰符的适用范围

3.System类

4.Object类

5.java集合


1.对象回收机制

当对象创建后引用,将为可达状态,如果没有引用,直接到可恢复状态,等到系统回收时还没有引用的话,将为不可达状态,并且不能重新引用。

强制垃圾回收

finalize();

System.gc;

Runtime.getRuntime().gc();

2.修饰符的适用范围

 当没有修饰符时,默认包访问控制符,常见的时初始化块的,因为他没修饰符所有默认包访问控制符

3.System类

当用户想获取平台属性和调用平台命令来完成特定功能时,可以用System类。

System类提供了标准输入,标准输出和错误输出的类变量。

System.in:标准输入

System.out:标准输出

System.err:错误输出流

4.Object类

Object类是所有类的父类,何一个类时候如果没有明确的继承一个父类的话,那么它就是Object的子类;

toString():返回该对象的字符串·表示。
finalize():该方法用于释放资源。因为无法确定该方法什么时候被调用,很少使用。
equals():比较对象的内容是否相等。
hashCode():该方法用于哈希查找,重写了equals方法一般都要重写hashCode方法。这个方法在一些具有哈希功能的Collection中用到。

5.java集合

集合类主要有两个接口派生而出,分别时Collection和Map,下面为Collection的继承树:


Collection:标准的集合,定义了一些通用的方法。

List:有索引,精准操作元素。元素有序,存储及取出时顺序一致。
ArrayList:List的扩展,不过是以数组的方式存储的。查询快,增删慢,主要用于查询遍历数据,为最常用集合之一。

LinkedList:List的扩展,不过是以双向链表的方式存储的。查询慢,增删快。

Vector:ArrayList类似,区别在于线程安全,基本不常用。

Set:没有索引,因此不能使用普通For循环遍历。元素不可重复。

HashSet:Set的扩展,以哈希数组的形式存储。查询快,元素无序,元素不可重复,没有索。

LinkedHashSet:以哈希链表的形式存储。查询快,元素有序,元素不可重复,没有索引。

TreeSet:查询快,元素有序,元素不可重复,没有索引。

Map的继承树:

 

 Map:元素包含两个值(key,value)即键值对, key不允许重复,value可以重复, key与value是一一对应的。元素无序;

HashMap:以原来基础以哈希数组存储。查询快,元素无序,key不允许重复但可以为null,value可以重复。

LinkedHashMap:以原来基础以哈希链表表存储查询快,元素有序,key不允许重复但可以为null,value可以重复。

HashTable:查询快,元素无序,key不允许重复并且不可以为null,value可以重复。基本不常用,线程安全。

TreeMap:查询快,元素有序,key不允许重复并且不可以为null,value可以重复。和treeSet类似。

6.泛式

泛式将对象的类型活用了起来。

本质:参数化类型,把类型作为参数传递

常见形式:泛型类。泛型接口 泛型接口

语法: <T,…>T称为类型占位符 表示一种引用类型 (E , K ,V)

好处:

提高代码的重用性

防止类型转换异常,提高代码的安全性

泛型类
 

public class Ss<T>{//使用了泛型T
    T a;
    public void init(T t){//以T作为方法的变量
        a=t;
    }
    
    public T init2()//以t作为方法的返回值
    {
        return a;
    }

}
public class Demo{
    public static void main(String args[]){
    Ss<String> s=new Ss<String>(); //后面的可以省略
    s.a="你好"
    System.out.println(s.init2);
    }

}

7.异常处理

java异常的继承体系

 

捕获异常

try{
//有可能出现异常的语句;

}catch (异常类型 异常对象) {
//可以有多个
}

finally {
//异常的出口

}


try 代码块中放的是可能出现异常的代码.

catch 代码块中放的是出现异常后的处理行为.//可以有多个

finally 代码块中的代码用于处理善后回收工作, 会在最后执行.

其中 catch 和 finally 都可以根据情况选择加或者不加.

执行方式为先执行try,通过try后执行catch如果第一个生效后面的不会再执行。不通过执行finally
抛出异常。
除了 Java 内置的类会抛出一些异常之外, 程序猿也可以手动抛出某个异常. 使用 throw 关键字完成这个操作。
通过throw这个关键字,我们可以手动抛出异常,这个异常可以是Java本来就定义好的,也可以是我们自己定义的异常类;可以通过try…catch来捕获我们抛出的异常,这样后续代码的执行就不受影响,如果不捕获那就会交由JVM来处理,程序也就终止了。

抛出语法格式: throw ExceptionInstance;


异常就是指程序运行时出现错误时通知调用者的一种机制;
自定义异常通常会继承自Exception或者 RuntimeException;
继承自Exception默认是受查异常需要显式处理,继承自 RuntimeException默认是非受查异常不需要显式处理。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值