java泛型、异常处理、文件io

泛型
相当于C++里的vector vec;就是<>里面的。
泛型可以在类,接口,方法中。
举个例子
定义数据

	//创建list
	ArrayList<Dog> al=new ArrayList<Dog>();//<Dog>即泛型的指定参数,提高安全性
	ArrayList bl=new ArrayList();//不使用泛型
	//创建一只狗
	Dog dog1=new Dog();
	//放入狗
	al.add(dog1);
	bl.add(dog1);//因为list没指定类型,默认为Object类,因此可以随便存入其子类,各种类型。
	//取出
	Dog temp=al.get(0);//泛型,因为制定了类型,所以直接取出
	Dog temp1=(Dog)b1.get(0);//非泛型,取出的为父类object类,所以要取出子类,则要强制转换。

定义类

Gen<String> gen1=new Gen<String>("aa");//<>因为是泛型可以放任意类型

//定义一个类
class Gen<T>{//T 传入什么类型,Gen 类就是什么什么类型
	private T o;
	//构造函数
	public Gen(T a){
		o=a;
	}
	//得到 T 的类型名称
	public void showTypeName(){
		System.out.println("类型是:"+o.getClass().getName());
		//通过反射机制,我们可以得到 T 这个类型的很多信息
		//得到成员函数名
		Method [] m=o.getClass().getDeclaredMethods();
		//打印
		for(int i=0;i<m.length;i++){
			System.out.println(m[i].getName());//打印函数名列表
	}
}

异常
分为编译时异常(拼写错误)和运行时异常(数组越界)。
1.try…catch

try{
	}
catch( ){
	}

2.finally异常

try{
	}
catch( ){
	}
finally{
	}//如果没有catch到就进入finally,一般为关闭资源(文件 链接 内存)。

3.异常抛出throws

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值