本文参照 《java编程模式和规范 》
一、 类的设计模式
1 、 Object可以指向任何的类型
Object object= "123";
Object object1=1;
Object object2='m';
Object object3=false;
2、char ,double,int,float,byte ,boolean,short八种类型不属于对象
char c1='A';
//System.out.println(c1 instanceof Object); //该行报错
3、所有的数组都是对象,包含int,char等八种基本类型的数组都是对象
int []m={1,2};
System.out.println(m instanceof Object); //该行输出true
4、基本类型的强制转换
(1)、基本类型和对应的包装类型可以转换,如int i=12; Integer m=(Integer)i ; //正确; 或 Integer m=12; int i=(int)m; //正确
(2)、非对应的包装类型不能强制转换,如 double d=12; Integer m=(Integer)d; //错误;Double d=12d;int i=(int)d; //错误
(3)、基本类型之间可以强制转换,如 double m=12; int i=(int)m; //正确
(4)、不能将int[] ,char[]等基本类型的数组使用Object[] o来赋值。
Test []t={ };
Object []z= t; //正确
int [] i= {12,4};
z=i; //错误
二、包的使用和异常处理
1、Java在寻找类为2种,一种是引入的包,另一种是ClassPath中列出的目录。
2、类中能有两种修饰, public或包权限,一个文件中可以定义多个类,但是只能一个是Public也可以没有public类。
3、如果继承或实现有两个相同的方法,只需实现一次就可以。如:
package decorate.inter;
public interface InterfaceB {
public void test();
}
package decorate.inter;
public interface InterfaceA {
public void test();
}
package decorate.inter;
public class ImpleInter implements InterfaceA,InterfaceB{
@Override
public void test() {
}
}
4、所有的类都继承了Object类,interface则没有继承Object。
5、在异常处理中,不管怎样,都是执行完finally后执行return,如:
try{
int a=10/0;
}catch (Exception e) {
return; //执行完finally后执行return.
}finally{
System.out.println("finally");
}
6、对Integer的常见问题
//在JDK中-128和127(默认是缓存在JVM中的,使用IntegerCache缓存起来的)
Integer a = 10;
Integer b = 10;
System.out.println(a==b); //true
Integer m = 1000;
Integer n = 1000;
System.out.println(m==n); //false