一、泛型
1,作用:将数据类型作为参数进行传递
2,定义:
1. 语法:<X,Y,...>
注意:这个字母随便定义
2. 情况:
1,在方法上定义
使用:修饰符之后,返回值类型之前调用package com.qf.demo01; import javax.security.auth.x500.X500Principal; public class Demo01 { public static void main(String[] args) { // T代表字符串String类型 test05("德玛西亚"); // T代表整型int test05(1); // T代表浮点型double test05(1.1); // T也可以表示对象 test05(new Demo01()); } public static <T> void test05(T str) { System.out.println("测试:"+str); } public static <T,X> T test06(T t,X x,T t2) { T t3; return t; } }
结果:
2,在类上定义
使用:在类名之后
注意:在继承关系中,父类有泛型,子类也必须定义该泛型package com.qf.demo01; import java.util.ArrayList; public class Demo02 { public static void main(String[] args) { A<Integer> a = new A<Integer>(10); Integer i = a.testA(); System.out.println(i); B<String, Integer> b = new B<String,Integer>(); } } //泛型定义在类上 class A <T>{ private T t; public A() { } public A(T t) { this.t = t; } public <X> T testA() { return t; } } //泛型在继承关系中 class B <X,T> extends A <T>{ }
3,在接口上定义
使用:接口名之后
注意:在继承关系中,父接口有泛型,子接口也必须定义该泛型
在实现关系中,父接口有泛型,子类也必须定义该泛型
注意:
静态方法不能定义泛型
静态常量也不能定义泛型package com.qf.demo01; public class Demo03 { public static void main(String[] args) { Test03<K> k = new Test03<K>(); } } // 泛型定义在接口中 interface TestInterface<K>{ K test(); default void test02(K k) { } } interface Test02Interface<K> extends TestInterface<K>{ } abstract class Test03<K> implements TestInterface<K>{ }
3,使用
情况:
1,在方法中使用
任何一处可以使用数据类型的地方,如返回值类型,形参列表,局部
变量的数据类型
2,在类上定义
创建该类对象时,必须指明泛型所对应的数据类型
注意:泛型中只能收到引用数据类型(*)
二、异常
1,分类
1.错误:Error
原因:因为硬件不足,导致的程序崩溃
处理:不需处理
OutOfMemoryError:内存溢出,可以通过优化解决
2. 异常:Exception
原因:程序员在代码编写时,对情况考虑不周全导致的
处理:需要处理
分类:检查异常/运行异常
2,常见的异常:
数组下标越界:ArrayIndexOutOfBoundsException
空指针异常:NullPointerException
算数异常:ArithmeticException
类型转型异常:ClassCastException
..
3,异常的处理
1,解决异常【try catch】
语法:
try{
有可能产生异常的代码
}catch(异常类型1 变量名){
处理方案
}catch(异常类型2 变量名){
处理方案
}
....
finally{
string =“谢谢谢谢”;
}
注意:catch中异常类型先子后父
2,声明异常【throws】
语法:
访问权限修饰符 修饰符 返回值类型 方法名(形参列表) throws
异常类型1,异常类型2,...{
}
3,抛出异常【throw】
语法:
throw
4,自定义异常
1,创建一个类
2,使继承与一个异常
3,提供一个无参构造函数调用父类无参构造函数或者调用父类有参构造函数
注意:父类构造函数中的实参为错误信息
学习Java简单整理笔记--Day15
最新推荐文章于 2024-07-15 22:27:18 发布