里面有些术语有可能比较怪些不过大家应该还是能够理解的 初始化类变量自动初始化为或者null局部变量使用前一定要初始化 主类型过载类型匹配顺序按照byte>short>char>int>long>float>double顺序匹配一种主类型只能匹配参数范围不小于其本身和其本身范围最接近的函数即有int i;f(short s);f(long l);i只能适用于第个f函数如果是常数则编译器作为int处理 主类型计算结果的类型和最大范围计算子的类型一致但是最小也要是int即byte+byte结果为int型 short型和char型不能互相赋值(因为short有符号char无符号) package一定要放在java文件第一行(除注释空行外) import只能放在第一行或者package下面 多个import的package里面如果有同名class使用时必须指定package interface中只能有方法宣言和定数 class实现interface必须实现全部方法 同一java文件中class和interface只能有一个public 为了宣言定数在变量前加final修饰子变量不可改变但是object的 属性可以改变(有点忘记了请确认)) 配列不能在宣言的时候用char arr[]形式指定必须要用new指定大小指定完毕后自动初期化也可以new的时候用{}形式指定 如果一个object为null使用其属性或者方法产生NullPointerException 如果使用一个越界index访问配列产生ArrayOfBoundsException 配列长用配列名length constructor如果有返回值编译器作为一般方法看待 constructor里面如果要用super()和this()必须放在第一行而且只能用一次 如果没有显式调用super和this编译器自动在第一行插入super();要求超类必须存在无参数的constructor 如果没有显式声明constructor编译器自动生成默认无参数constructor一旦声明则无默认constructor 修饰子(访问范围大小顺序)public 完全公开protected 同一package或者子类中 无 同一package private本class override的方法不能使访问范围缩小即父类中public方法不能被protected override static方法不能被override?确认 constructor不能被继承 抽象class不能同时被static修饰子修饰 native方法被java以外其它语言实现 interface里面方法默认为public abstract修饰变量默认为public static final修饰 abstract和finalabstract和staticabstract和private不能同时指定 &&||为短路条件运算符 &|为不短路条件运算符 switch()只能判断byteshortintchar(longfloatdouble不行) Exception包括可check Exception和Runtime Exception可check Exception可以被编译器检查Runtime Exception不被编译器检查但是可以被catch捕捉 try{}catch{}catch{}多个catch语句按照声明顺序检查一旦被捕捉以后catch就直接跳过超类Exception可以捕捉子类Exception try中即使有returnfinally段也会被执行 method声明用throws抛出Exception用throw 强制垃圾回收systemgc()促使垃圾回收但不是马上回收 finalize()在垃圾回收的时候自动调用建议显式调用superfinalize() main方法的args[]是第一个参数例如java Test a b cargs[]是a 类中static段中不能throw异常constructor里面不能throw异常 对于除零整数运算抛出ArithmeticException 实数运算不抛出异常返回Infinity或者Infinity instanceof运算子is的意思例如betty instanceof girl返回true) override和overload的区别 很简单不多写了 inner class(内部类重点注意) nest classclass内部定义的class 包括(member class作为class的member定义的class local class作为method局部变量定义的class anonymous class用new生成的没有名字的class) inner class除了static member class以外的所有nest class总称 inner class中不能定义static段 inner class里面不能定义没有final修饰子修饰的static变量 inner class不能定义interface?(记不清了自己确认一下) member class的使用方法mberClass static宣言的member class的生成方法 TopClass的instancenew memberClass()或者 new mberClass(); local class不能显式被修饰子修饰 local class只能存取被final修饰子修饰的上级变量(注意) anonymous class instance生成方法 new SuperClass名(){}或者 new Interface名(){} anonymous class 不能定义sub class(因为自己没有名字) 不能定义为abstract class 不能定义constructor(注意) Thread生成方法 继承javalangThread 实现javalangRunnable interface然后用new Thread(实现Runnable接口 的class)来生成Thread instance Thread的join方法等待Thread结束 Object的wait()方法和notify()notifyAll()方法(线程同期化自己好好 看看) 同期化保留字:synchronized(有可能要求拼写) 如果用synchronized修饰static方法static写在前头 String和StringBuffer区别String初始化后不可改变StringBuffer可以改变 String s=hello;String s=hello; if (s==s){Systemoutprintln(OK);} 执行结果是打印出OK >>运算符是高位填充符号位是为算术移位 >>>运算符高位填是为逻辑移位其余有关swtutilIO之类的东东基本上都是死记硬背的这里就不多说了 |