package com.wdzl.demo07;
public class TestPack {
public static void main(String[] args) {
//装箱
int a =1;
Integer a1 = new Integer(a);
Integer a2 = Integer.valueOf(a);
Integer a3 = Integer.valueOf(1);
Integer a4 = Integer.valueOf(a+"");
Integer a5 = Integer.valueOf(""+a);
System.out.println("a:"+a);
System.out.println("a1:"+a1);
System.out.println("a2:"+a2);
System.out.println("a3:"+a3);
System.out.println("a4:"+a4);
System.out.println("a5:"+a5);
//拆箱
Integer a6 = Integer.valueOf(1);
int a7 = a6.intValue();
System.out.println("a7:"+a7);
System.out.println("****************");
//自动装箱
Integer a8 = a7;
System.out.println("a8:"+a8);
//判断它们的地址或值是否相等
System.out.println(a1==a2);
System.out.println(a1.equals(a2));
System.out.println(a2==a3);
System.out.println(a2.equals(a3));
System.out.println(a3==a4);
System.out.println(a3.equals(a4));
System.out.println(a4==a5);
System.out.println(a4.equals(a5));
System.out.println(a6==a7);
System.out.println(a6.equals(a7));
}
}
throw 和 throws
- throws用于方法声明,声明方法中可能抛出的异常类型,后面可以跟多个异常类
- throw 用于方法中抛出异常对象,只能是一个异常对象
package com.wdzl.demo02;
/**
* throw 和 throws
* throws用于方法声明,声明方法中可能抛出的异常类型,后面可以跟多个异常类
* throw 用于方法中抛出异常对象,只能是一个异常对象
*/
public class Test {
public static void setAge(int age) throws AgeException,ClassNotFoundException {
if(age<18 || age>100) {
//抛出异常对象
AgeException e = new AgeException("年龄只能在18~100之间");
// System.out.println(e.hashCode());
throw e;
}
int aa = age;
System.out.println("*******"+aa);
}
public static void main(String[] args) {
try {
setAge(-19);
} catch (AgeException | ClassNotFoundException e) {
e.printStackTrace();
// System.out.println(e.hashCode());
System.out.println("异常信息:"+e.getMessage());
}
// System.out.println("程序结束!");
}
}
package com.wdzl.demo02;
/**
* 自定义异常
* 继承Exception类
*/
public class AgeException extends Exception {
public AgeException(String msg) {
super(msg);
System.out.println("年龄异常了!");
}
public AgeException() {
super("%%%%%%年龄异常了%%%%%");
}
@Override
public String getMessage() {
System.out.println("------");
return "***"+super.getMessage()+"***";
}
}
运行结果:
重写(两大一小)
- 一大:子类重写的访问权限修饰符大于等于父类
- 二小:
- 重写的子类的返回值类型小于等于父类
- 重写的子类的异常类型小于等于父类
处理异常与运行时异常
- RuntimeException:运行时异常编译阶段,不需要强制进行检查处理的异常
- 处理异常:编译阶段,就需要对异常进行抛出。