一个类的结构如下:
public class 类名称{
[static]{ //既可以是静态初始化块,也可以是实例化初始化块
初始化块
}
public/protected/private/默认 [static] [final] 属性;
public/protected/private/默认 类名(){ //构造方法
...........................................
}
public/protected/private/默认 [static] [final] [abstract] 普通方法名(){
.....................................
}
}
说明: (1)静态初始化块方法是在类被JVM加载时就执行的语句,无论new几个对象,此方法都只能加载一次,而实例化初始化块在每次实例化一个对象时执行一次,他是在任何父类构造器调用之后,子类构造器调用之前执行.
(2) 如果类中有main方法,访问修饰符(public/protected/private/默认)和可选修饰符([static] [final] [abstract])之间可以互换位置;返回类型只能为void,参数名可以随意命名,main()格式如下:
public static void main(String[ ] args) { }或
static public void main(String[ ] args) { } 或
public static void main(String[ ] hellos) { } 或
public static void main(String args[ ]) { }
引用类型主要包括:类(所有类),数组和接口(接口默认是抽象的,可以不用关键字abstract声明,接口中的每一个方法都默认是抽象的,也不需要使用关键字abstract来声明,接口中的方法默认是public,也可以不写public任然是public的).
产生对象有四种方式:
(1)new;
(2)对象克隆;
(3)反射(通过类型名获取Class 对象 Class c=Student.Class,通过对象名获得Class对象 Class c=new Student().getClass(),通过类型名的字符串形式获取class对象,Class c=Class.forName("类的全称"))
(4)对象反序列化(把输入的二进制流转成对象)
//是java中的注释,#是properties文件中的注释,是xml中的注释
关于异常,主要包括检查异常(编译器异常)和运行时异常(运行器异常),如果下标越界,则是运行时异常,如果没有给局部变量赋初值,则编译时会报错,如果声明一个静态的String对象,如static String s;虽然类加载时s=null,但是运行时还是会出现nullpointerException.
DOM:是在内存中生成一个文档树,可以反复遍历,即可以回覆;
SAX:适合大型xml文件的解析,之遍历一次,即不可以回覆.
垃圾回收器是一个独立的线程,而JVM是一个独立的进程,垃圾回收不能被程序员干预,但是程序员可以调用System.gc()通知做回收处理.
SubString(2,5)前闭后开,即String s="hellojava" ,Stringss=s.SubString(2,5),则ss="llo";