准备SCJP的时候做的一些笔记

来源:互联网 发布:淘宝如何刷单 编辑:程序博客网 时间:2024/05/02 00:41
来源:ChinaITLab
2004-4-24 11:29:00
  里面有些术语有可能比较怪些,,不过大家应该还是能够理解的                     
  1,初始化类变量自动初始化为0或者null,局部变量使用前一定要初始化       
  2,主类型过载类型匹配顺序:按照byte->short->char->int->long->float->double顺序匹配。一种主类型只能匹配参数范围不小于其本身和其本身范围最接近的函数即有int i;1.f(short s);2.f(long l);i只能适用于第2个f函数如果是常数,则编译器作为int处理

  3,主类型计算结果的
byte+byte结果为int型。
类型和最大范围计算子的类型一

致,但是最小也要是int,即

  4,short型和char型不
能互相赋值(因为short有符号
,char无符号)
  5,package一定要放在java文件第一行(除注释空行外)               
  6,import只能放在第一行或者package下面                         
  7,多个import的packa
ge里面如果有同名class,使用
时必须指定package
  8,interface中只能有方法宣言和定数                                 
  9,class实现interface必须实现全部方法                         
  10,同一java文件中class和interface只能有一个public
  11,为了宣言定数,在变量前加fina
变(有点忘记了,请确认,:))
l修饰子,变量不可改变,但是object的 属性可以改

  12,配列不能在宣言的时候用char a
毕后自动初期化;也可以new的时候用{0,
rr[12];形式指定,必须要用new指定大小。指定完
0,0}形式指定
  13,如果一个object为
null,使用其属性或者方法,产
生NullPointerException
  14,如果使用一个越界index访问配
列,产生ArrayOfBoundsException
  15,配列长用配列名.length                                           
  16,constructor如果有返回值,编译器作为一般方法看待             
  17,constructor里面

如果要用super(..)和this(..)

,必须放在第一行,而且只能用一

  18,如果没有显式调用
在无参数的constructor
super和this,编译器自动在第

一行插入super();要求超类必须存

  19,如果没有显式声明
明,则无默认constructor
constructor,编译器自动生成

默认无参数constructor。一旦声

  20,修饰子(访问范围大小顺序)pu
无    同一package private 本cla
blic  完全公开protected 同一package或者子类中
ss
  21,override的方法不能使访问范围

缩小即父类中public方法不能被protected override

  22,static方法不能被override?确认                           
  23,constructor不能被继承                                       
  24,抽象class不能同时被static修饰子修饰                         
  25,native:方法被java以外其它语言实现                           
  26,interface里面:
final修饰
方法默认为public abstract修

饰变量默认为public static

  27,abstract和final
,abstract和static,abstract
和private不能同时指定
  28,&&,||为短路条件运算符 &,|为不短路条件运算符                   
  29,switch()只能判断byte,short
,int,char(long,float,double不行)
  30,Exception包括可c
译器检查,Runtime Except
heck Exception和Runtime Exce
ion不被编译器检查,但是可以
ption可check Exception可以被编
被catch捕捉
  31,try{}catch{}catc
直接跳过,超类Exception
h{}多个catch语句按照声明顺序
可以捕捉子类Exception
检查,一旦被捕捉,以后catch就

  32,try中即使有return,finally段也会被执行                 
  33,method声明用throws,抛出Exception用throw     
  34,强制垃圾回收,system.gc();促使垃圾回收,但不是马上回收     
  35,finalize();在垃圾回收的时候
自动调用;建议显式调用super.finalize();
  36,main方法的args[0
]是第一个参数,例如:java Te
st a b c,args[0]是"a"
  37,类中static段中不能throw异常
,constructor里面不能throw异常
  38,对于除零:整数运
或者-Infinity
算抛出ArithmeticException 实

数运算不抛出异常;返回Infinity

  39,instanceof运算子
,is的意思,例如:betty inst
anceof girl,返回true,:)
  40,override和overload的区别 很简单,不多写了             
  41,inner class(内部类:重点注意)                             
  nest class:class内部定义的class                         
  包括(member class:作为class的member定义的class
  local class:作为method局部变量定义的class             
  anonymous class:用new生成的没有名字的class)         
  42,inner class:除了static memb
er class以外的所有nest class总称
    inner class中不能定义static段                           
    inner class里面
不能定义没有final修饰子修饰
的static变量
    inner class不能定义interface
?(记不清了,自己确认一下)
  43,member class的使用方法:TopC
lass.memberClass
  44,static宣言的member class的生成方法:                 

    TopClass的instan
ce.new memberClass()或者
    new TopClass.memberClass();                   
  45,local class不能显式被修饰子修饰                             
  46,local class只能存取被final修饰子修饰的上级变量(注意)
  47,anonymous class instance生成方法:             
    new SuperClass名(){.......}或者                 
    new Interface名(){......}                         
  48,anonymous class                                         
    不能定义sub class(因为自己没有名字)                           
    不能定义为abstract class                                   
    不能定义constructor(注意)                                   
  49,Thread生成方法                                                   
    继承java.lang.Thread                                     
    实现java.lang.Ru
class)来生成Thread insta
wait()方法和notify(),no
nnable interface,然后用new
nce 50,Thread的join方法,等
tifyAll()方法(线程同期化,
Thread(实现Runnable接口 的
待Thread结束 51,Object的
自己好好 看看)
  52,同期化保留字:synchronized(有可能要求拼写)               
  53,如果用synchronized修饰static
方法,static写在前头
  54,String和StringBuffer区别:St
ring初始化后不可改变,StringBuffer可以改变
  String s1="hello";String s2="hello";     
  if (s1==s2){System.out.println("OK");}  
  执行结果是打印出OK                                                         
  55,>>运算符是高位填充符号位,是为算术移位 >>>运算符高位填0,是为逻辑移位其余有关swt,util,IO之类的东东,基本上都是死记硬背的,这里就不多说了.
原创粉丝点击