Java暑期学习Day28
282828,继续学习之前的异常处理,明天再记录相关的语法{:10_298:}static/image/hrline/3.gif
①异常处理
1.try{}语句块中放的是要检测的java代码,可能有会抛出异常,也可能会正常执行。
2.catch(异常类型){}块是当java运行时系统接收到try块中所抛出异常对象时,会寻找能处理这一异常catch块来进行处理(可以有多个catch块)。
(即没有异常就不执行)
3.final{}不管系统有没有抛出异常都会去执行,一般用来释放资源。
除了在之前执行了System.exit(0)
②
1.Object
class lat extends Object {
String name;
int age;
// 覆盖了Object里面toString 方法
public String toString() {
return this.name + "," + this.age;
}
}
class User {
String name;
int age;
public String toString() {
return this.name + "," + this.age;
}
}
// Object 类
public class ObjectDemo {
/*
* Object类是JAVA的根类,要么是一个类的父类,要么是一个类的间接父类
*
* class ABC{}等价于 class ABC extends object{}
*
*
* == 比较内存地址
*
* equals 类覆盖方法
*/
public static void main(String[] args) {
String aa = new String();
System.out.println(aa.hashCode());
String bb = new String();
System.out.println(bb.hashCode());
System.out.println(aa == bb);// false
System.out.println(aa.equals(bb));// true (类覆盖方法)
Object a = new Object();
System.out.println(a.hashCode());
Object b = new Object();
System.out.println(b.hashCode());
System.out.println(a == b);
System.out.println(a.equals(b));
// 用组类不要去创建子类对象
User uu = new User();
uu.toString();
lat ll = new lat();
ll.toString();
}
}
结果是——
0
0
false
true
366712642
1829164700
false
false
2.装箱与拆箱
//基本类型包装类型:装箱和拆箱操作
public class IntegerDemo2 {
public static void main(String[] args) {
// 装箱操作:把一个基本类型的值,转换为对应的包装类对象
// 方式一
Integer num1 = new Integer(17);
// 方式二
Integer num2 = Integer.valueOf(17);
// 拆箱
int num3 = num1.intValue();
System.out.println(num1);
System.out.println(num2);
System.out.println(num3);
// 自动装箱:直接赋值给对应的包装类对象(语法糖)
Integer num4 = 13;
// 自动拆箱:直接把一个包装类对象赋给基本类型变量(语法糖)
int num5 = num4;
}
}
结果是——
17
17
17
3.设计模式之享元模式
public class IntegerDemo {
/*
*
* 享元模式 共享一个元素 带有缓存设计
*
* int integer
*
*
* 拆箱以后再做比较
*/
public static void main(String[] args) {
Integer i1 = new Integer(123);
Integer i2 = new Integer(123);
System.out.println(i1 == 12);
System.out.println(i1.equals(i2));
int i3 = 123;
int i4 = 123;
System.out.println(i3 == i4);
Integer i5 = Integer.valueOf(123);
Integer i6 = Integer.valueOf(123);
System.out.println(i5 == i6);
Integer i7 = 123;
Integer i8 = 123;
System.out.println(i7 == i8);
Integer i11 = new Integer(250);
Integer i12 = new Integer(250);
System.out.println(i11 == i12);
Integer i31 = Integer.valueOf(250);
Integer i41 = Integer.valueOf(250);
System.out.println(i31 == i41);
Integer i51 = 250;
Integer i61 = 250;
System.out.println(i51 == i61);
}
}
结果是——
false
true
true
true
true
false
false
false
页:
[1]