1 / 37
文档名称:

JAVA程序设计笔试题库及答案.doc

格式:doc   页数:37
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

JAVA程序设计笔试题库及答案.doc

上传人:xxj16588 2016/3/28 文件大小:0 KB

下载得到文件列表

JAVA程序设计笔试题库及答案.doc

文档介绍

文档介绍:JAVA 程序设计笔试题库及答案 JAVA 基础题库 1 、作用域 public,private,protected, 以及不写时的区别注:不写时关键字默认为 friendly 作用域当前类同一 package 子孙类其他 package public √√√√ protected √√√× friendly √√×× private √××× 2、 Anonymous Inner Class ( 匿名内部类) 是否可以 extends( 继承) 其它类,是否可以 implements( 实现)interface( 接口) 答: 匿名的内部类是没有名字的内部类。不能 extends( 继承)其它类,但一个内部类可以作为一个接口,由另一个内部类实现 3、&和&& 的区别。答: &和&& 都可以用作逻辑与的运算符,表示逻辑与( and ) ,当运算符两边的表达式的结果都为 true 时, 整个运算结果才为 true , 否则, 只要有一方为 false ,则结果为 false 。&& 还具有短路的功能, 即如果第一个表达式为 false , 则不再计算第二个表达式,例如,对于 if(str != null && !( “”)) 表达式,当 str 为 null 时,后面的表达式不会执行,所以不会出现 NullPointerException 如果将&& 改为& ,则会抛出 NullPointerException 异常。 If(x==33 & ++y>0) y 会增长, If(x==33 && ++y>0) 不会增长& 还可以用作位运算符,当& 操作符两边的表达式不是 boolean 类型时,& 表示按位与操作, 我们通常使用 0x0f 来与一个整数进行& 运算, 来获取该整数的最低 4个 bit 位, 例如, 0x31 & 0x0f 的结果为 0x01 。 4、 Static Nested Class 和 Inner Class 的不同 Nested Class 一般是 C++ 的说法, Inner Class 一般是 JAVA 的说法。 Nested class 分为静态 Static nested class 的和非静态的 inner class, 静态的 Static nested class 是不可以直接调用它的外部类 enclosing class 的,但是可以通过外部类的引用来调用,就像你在一个类中写了 main 方法一样。非静态类 inner class 可以自由的引用外部类的属性和方法,但是它与一个实例绑定在了以其,不可以定义静态的属性、方法。 Inner Class (内部类)定义在类中的类。 Nested Class (嵌套类)是静态( static )内部类。 1. 要创建嵌套类的对象, 并不需要其外围类的对象。 2. 不能从嵌套类的对象中访问非静态的外围类对象。 Anonymous Inner Class (匿名内部类)匿名的内部类是没有名字的内部类。匿名的内部类不能 extends ( 继承) 其它类, 但一个内部类可以作为一个接口,由另一个内部类实现。嵌套类可以作为接口的内部类。正常情况下, 你不能在接口内部放置任何代码,但嵌套类可以作为接口的一部分,因为它是 static 的。只是将嵌套类置于接口的命名空间内,这并不违反接口的规则。静态方法是不能继承的, 因为它是静态的, 所谓静态当然是时间和空间的静止喽……所以任何人都别想改变他。但是它不介意有人和它叫一样的名字,所以子类是可以 cover 的,但是其实这样会出来两个函数,一个父类的一个子类的,各管各的。然后 final 是 java 里面定义的,不能被重载的函数。 java 里面的函数如果没有特别标识,只要在子类中定义了一个同名的函数, 那么父类的函数就被重载掉了。如果 new 一个子类的对象给父类再调用这个函数, 就是调用子类的了。只有 new 的是父类的调的才是父类的。 java 里面没有 virtual 的说法,因为不是 final 或 static 就是 virtual 的。 abstract 是虚函数, 自然不可能是 final 的, 同时如上所说, stati c 是不能被重载只能被覆盖的,所以也不可以是 abstract 的内部类被继承, 由于内部类有一个指向外围类对象的秘密引用,所以在继承内部类的时候,该秘密引用必须被初始化。解决方法是 (); 语法,看一下代码: class Outer ...{ class Inner ...{ }} class AnoClass extends ...{ AnoClass (Outer wi)