SCJP一些笔记&&局部类和嵌套类&&JAVA面试题&&XML区别

原创 2004年10月24日 20:49: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,主类型计算结果的类型 和最大范围计算子的类型一致,但是最小也要是int,即byte+byte结果为int型。

4,short型和char型不能互相赋值(因为short有符号,char无符号)

5,package一定要放在java文件第一行(除注释空行外)

6,import只能放在第一行或者package下面

7,多个import的package里面如果有同名class,使用时必须指定package

8,interface中只能有方法宣言和定数

9,class实现interface必须实现全部方法

10,同一java文件中class和interface只能有一个public

11,为了宣言定数,在变量前加final修饰子,变量不可改变,但是object的属性可以改变(有点忘记了,请确认,:))

12,配列不能在宣言的时候用char arr[12];形式指定,必须要用new指定大小。指定完毕后自动初期化;也可以new的时候用{0,0,0}形式指定

13,如果一个object为null,使用其属性或者方法,产生NullPointerException

14,如果使用一个越界index访问配列,产生ArrayOfBoundsException

15,配列长用配列名.length

16,constructor如果有返回值,编译器作为一般方法看待

17,constructor里面如果要用super(..)和this(..),必须放在第一行,而且只能用一次

18,如果没有显式调用super和this,编译器自动在第一行插入super();要求超类必须存在无参数的constructor

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

20,修饰子(访问范围大小顺序)
public 完全公开
protected 同一package或者子类中无同一package
private 本class

21,override的方法不能使访问范围缩小即父类中public方法不能被protected override
 
22,static方法不能被override?确认
23,constructor不能被继承

24,抽象class不能同时被static修饰子修饰
 
25,native:方法被java以外其它语言实现

26,interface里面:
方法默认为public abstract修饰
变量默认为public static final修饰

27,abstract和final,abstract和static,abstract和private不能同时指定

28,&&,||为短路条件运算符
&,|为不短路条件运算符

29,switch()只能判断byte,short,int,char(long,float,double不行)
 
30,Exception包括可check Exception和Runtime Exception可check Exception可以被编译器检查,Runtime Exception不被编译器检查,但是可以被catch捕捉

31,try{}catch{}catch{}多个catch语句按照声明顺序检查,一旦被捕捉,以后catch就直接跳过,超类Exception可以捕捉子类Exception

32,try中即使有return,finally段也会被执行

33,method声明用throws,抛出Exception用throw

34,强制垃圾回收,system.gc();促使垃圾回收,但不是马上回收

35,finalize();在垃圾回收的时候自动调用;建议显式调用super.finalize();
 
36,main方法的args[0]是第一个参数,例如:java Test a b c,args[0]是"a"
 
37,类中static段中不能throw异常,constructor里面不能throw异常

38,对于除零:整数运算抛出ArithmeticException实数运算不抛出异常;返回Infinity或者-Infinity

39,instanceof运算子,is的意思,例如:betty instanceof 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 member class以外的所有nest class总称
inner class中不能定义static段
inner class里面不能定义没有final修饰子修饰的static变量
inner class不能定义interface?(记不清了,自己确认一下)

43,member class的使用方法:TopClass.memberClass

44,static宣言的member class的生成方法:
TopClass的instance.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.Runnable interface,然后用new Thread(实现Runnable接口的class)来生成Thread instance

50,Thread的join方法,等待Thread结束

51,Object的wait()方法和notify(),notifyAll()方法(线程同期化,自己好好看看)

52,同期化保留字:synchronized(有可能要求拼写)

53,如果用synchronized修饰static方法,static写在前头

54,String和StringBuffer区别:String初始化后不可改变,StringBuffer可以改变
String s1="hello";
String s2="hello";
if (s1==s2){System.out.println("OK");}
执行结果是打印出OK

55, >>>运算符高位填0,是为逻辑移位


局部类和嵌套类

局部类

  在一个函数体内定义的类称为局部类。局部类中只能使用它的外围作用域中的对象和函数进行联系,因为外围作用域中的变量与该局部类的对象无关。在定义局部类时需要注意:局部类中不能说明静态成员函数,并且所有成员函数都必须定义在类体内。在实践中,局部类是很少使用的。下面是一个局部类的例子。

int a;
void fun()
{
  static int s;
  class A
   {
    public:
     void init(int i) { s = i; }
    };
  A m;
  m.init(10);
}


  嵌套类

  在一个类中定义的类称为嵌套类,定义嵌套类的类称为外围类。

  定义嵌套类的目的在于隐藏类名,减少全局的标识符,从而限制用户能否使用该类建立对象。这样可以提高类的抽象能力,并且强调了两个类(外围类和嵌套类)之间的主从关系。下面是一个嵌套类的例子:

class A
{
 public:
 class B
  { 
   public:
    …
   private:
    …
  };
 void f();
 private:
 int a;
}


  其中,类B是一个嵌套类,类A是外围类,类B定义在类A的类体内。

  对嵌套类的若干说明:

  1、从作用域的角度看,嵌套类被隐藏在外围类之中,该类名只能在外围类中使用。如果在外围类的作用域内使用该类名时,需要加名字限定。

  2、从访问权限的角度来看,嵌套类名与它的外围类的对象成员名具有相同的访问权限规则。不能访问嵌套类的对象中的私有成员函数,也不能对外围类的私有部分中的嵌套类建立对象。

  3、嵌套类中的成员函数可以在它的类体外定义。

  4、嵌套类中说明的成员不是外围类中对象的成员,反之亦然。嵌套类的成员函数对外围类的成员没有访问权,反之亦然。国此,在分析嵌套类与外围类的成员访问关系时,往往把嵌套类看作非嵌套类来处理。这样,上述的嵌套类可写成如下格式:

class A
{
 public:
 void f();
 private:
 int a;
 };

class B
{
 public:
  …
 private:
  …
};


  由引可见,嵌套类仅仅是语法上的嵌入。

  5、在嵌套类中说明的友元对外围类的成员没有访问权。

  6、如果嵌套类比较复杂,可以只在外围类中对嵌套类进行说明,关于嵌套的详细的内容可在外围类体外的文件域中进行定义。

SCJP一些笔记 hanic [原作]

SCJP一些笔记出处  1,初始化 类变量自动初始化为0或者null,局部变量使用前一定要初始化2,主类型过载 类型匹配顺序:按照byte->short->char->int->long->floa...
  • candyfudp
  • candyfudp
  • 2004年08月08日 15:22
  • 555

C++ 局部类和嵌套类

局部类   在一个函数体内定义的类称为局部类。局部类中只能使用它的外围作用域中的对象和函数进行联系,因为外围作用域中的变量与该局部类的对象无关。在定义局部类时需要注意:局部类中不能说明静态成员函...
  • u011676589
  • u011676589
  • 2013年08月19日 10:00
  • 621

C/C++ 局部类和嵌套类

主要参考资料:C++编程思想和 高质量编程 以及网络文章 局部类 局部类是指在函数中定义类。 (c++不能在函数中定义函数。c++在类中定义的函数也就是成员函数。)这个类以及由它创建...
  • u010236550
  • u010236550
  • 2014年02月12日 14:15
  • 2729

C++局部类和嵌套类

局部类在一个函数体内定义的类称为局部类。局部类中只能使用它的外围作用域中的对象和函数进行联系,因为外围作用域中的变量与该局部类的对象无关。在定义局部类时需要注意:局部类中不能说明静态成员函数,并且所有...
  • coolmousewife
  • coolmousewife
  • 2009年10月14日 16:15
  • 266

我的SCJP,SCWCD,SCBCD,SCDJWS,SCEA认证经验谈

下面是我的考试方面的具体信息,其中SCWCD和SCDJWS考的是Beta版本.个人对人证的看法:偶觉得对于初学者来说,考认证可以加快学习知识的速度,我就是初学者,对于工作多年的人来说,认证没有什么实际...
  • study_body
  • study_body
  • 2005年02月04日 08:44
  • 1309

XML和JSON优缺点-- 面试题

我的总结: 一般而言:配置文件用XML,传输数据用JSON(所谓的轻量级体现的解析上); 逐步解析用XML(SAX技术可以边传输边解析),整体解析用JSON(目前只能整体一次性解析); so,大...
  • qq373036876
  • qq373036876
  • 2016年07月27日 19:54
  • 3341

局部类和嵌套类

局部类和嵌套类局部类  在一个函数体内定义的类称为局部类。局部类中只能使用它的外围作用域中的对象和函数进行联系,因为外围作用域中的变量与该局部类的对象无关。在定义局部类时需要注意:局部类中不能说明静态...
  • ljx0305
  • ljx0305
  • 2008年06月01日 23:36
  • 493

嵌套类、局部类

一、嵌套类      在一个类的内部定义另一个类,我们称之为嵌套类(nested class),或者嵌套类型。之所以引入这样一个嵌套类,往往是因为外围类需要使用嵌套类对象作为底层实现,并且...
  • chunlovenan
  • chunlovenan
  • 2013年08月16日 20:07
  • 647

嵌套类 局部类

嵌套类局部类《c++ primer 3th》嵌套类一个类可以在另一个类中定义,这样的类被称为嵌套类。嵌套类是其外围类的一个成员。嵌套类的定义可以出现在其外围类的公有、私有或保护区中。嵌套类的名字在其外...
  • Augusdi
  • Augusdi
  • 2014年07月29日 16:18
  • 653

Java 内部类与局部类

Java文件里的类为 内部类public class outer{public static String staticString; public String string; public vo...
  • sysusr
  • sysusr
  • 2011年02月28日 05:11
  • 5150
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:SCJP一些笔记&&局部类和嵌套类&&JAVA面试题&&XML区别
举报原因:
原因补充:

(最多只允许输入30个字)