Java笔试面试题库.pdf
《Java笔试面试题库.pdf》由会员分享,可在线阅读,更多相关《Java笔试面试题库.pdf(132页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、最全的Java笔试面试题库1 .下面中哪两个可以在A的子类中使用:()c l a ss A pro te c te d i n t m e th o d i (i n t a,i n t b)re turn 0;)A.pub l i c i n t m e th o d 1 (i n t a,i n t b)re turn 0;B.pri va te i n t m e th o d i (i n t a,i n t b)re turn 0;C.pri va te i n t m e th o d i (i n t a,l o n g b)re turn 0;D.pub l i c sh o
2、rt m e th o d i (i n t a,i n t b)re turn 0;解答:AC主要考查子类重写父类的方法的原则B,子类重写父类的方法,访问权限不能降低C,属于重载D,子类重写父类的方法 返回值类型要相同或是父类方法返回值类型的子类2 .A b stra c t m e th o d c a n n o t b e sta ti c.T rue o r F a l se?A T rueB F a l se解答:A抽象方法可以在子类中被重写,但是静态方法不能在子类中被重写,静态方法和静态属性与对象是无关的,只与类有关,这与a b stra c t是矛盾的,所以a b stra c
3、 t是不能被修饰为sta ti c,否则就失去了 a b stra c t的意义了3 .W h a t wi l l b e th e o utput wh e n yo u c o m pi l e a n d e xe c ute th e f o l l o wi n gpro g ra m.c l a ss B a se(vo i d te st()Syste m,o ut.pri n tl n(aB a se,te st()”);)pub l i c c l a ss C h i l d e xte n d s B a se vo i d te st()Syste m,o ut.pr
4、i n ti n(C h i l d,te st()”);sta ti c pub l i c vo i d m a i n(Stri n g a)C h i l d a n O b j =n e w C h i l d O ;B a se b a se O b j =(B a se)a n O b j;b a se O b j.te st();)Se l e c t m o st a ppro pri a te a n swe r.A C h i l d,te st()B a se,te st()B B a se,te st()C h i l d,te st()C B a se,te st(
5、)D C h i l d,te st()解答:D测试代码相当于:B a se b a se O b j =n e w C h i l d。;父类的引用指向子类的实例,子类又重写了父类的te st方法,因此调用子类的te st方法。4.W h a t wi l l b e th e o utput wh e n yo u c o m pi l e a n d e xe c ute th e f o l l o wi n gpro g ra m.c l a ss B a se(sta ti c vo i d te st()Syste m.o ut.pri n tl n(B a se,te st 0
6、 w;)pub l i c c l a ss C h i l d e xte n d s B a se vo i d te st()Syste m,o ut.pri n tl n(C h i l d,te st()”);B a se.te st();/C a l l th e pa re n t m e th o d)sta ti c pub l i c vo i d m a i n(Stri n g a)n e w C h i l d().te st();)Se l e c t m o st a ppro pri a te a n swe r.A C h i l d,te st()B a s
7、e,te st()B C h i l d,te st()C h i l d,te st()C C o m pi l a ti o n e rro r.C a n n o t o ve rri d e a sta ti c m e th o d b y a n i n sta n c e m e th o dD Run ti m e e rro r.C a n n o t o ve rri d e a sta ti c m e th o d b y a n i n sta n c e m e th o d解答:C静态方法不能在子类中被重写5.W h a t wi l l b e th e o u
8、tput wh e n yo u c o m pi l e a n d e xe c ute th e f o l l o wi n gpro g ra m.pub l i c c l a ss B a se pri va te vo i d te st()Syste m,o ut.pri n ti n(6 +6 +a(Re sul t)w;)sta ti c pub l i c vo i d m a i n(Stri n g a)n e w B a se ().te st();Select most appropriate answer.A 66(R esult)B 12(R esult)C
9、 R untime Error.Incompatible type for+Can,t convert an int to a string.D Compilation Error.Incompatible type for+Can t add a string to anint.解答:B字符串与基本数据类型链接的问题,如果第一个是字符串那么后续就都按字符串处理,比如上边例子要是System.out.printin(R esult)+6+6);那么结果就是(R esult)6 6,如果第一个和第二个。第n个都是基本数据第n+1是字符串类型,那么前n个都按加法计算出结果在与字符串连接6.What
10、 will be the output when you compile and execute the followingprogram.T he symbol?means space.1:public class Base2:3:private void test()4:5:String aStr=?0ne?”;6:String bStr=aStr;7:aStr.toUpperCase();8:aStr.trim();9:System,out.println(+aStr+bStr+;7:8:9:static public void main(String1 a)10:new Base().
11、test();11:)12:Select most appropriate answer.A ONE,?0ne?B?0ne?,OneC ONE,OneD ONE,ONEE?0ne?,?0ne?解答:E通过String bStr=aStr;这句代码使bStr和aStr指向同一个地址空间,所以最后aStr和b Str的结果应该是一样,String类是定长字符串,调用一个字符串的方法以后会形成一个新的字符串。7.下面关于变量及其范围的陈述哪些是不正确的():A.实例变量是类的成员变量B .实例变量用关键字static声明C.在方法中定义的局部变量在该方法被执行时创建D.局部变量在使用前必须被初始化解
12、 答:B C由sta ti c 修饰的变量称为类变量或是静态变量方法加载的时候创建局部变量8 .下列关于修饰符混用的说法,错误的是():A.a b stra c t不能与f i n a l 并列修饰同一个类B.a b stra c t类中可以有pri va te 的成员C.a b stra c t方法必须在a b stra c t类中D.sta ti c 方法中能处理非sta ti c 的属性解 答 D:静态方法中不能引用非静态的成员9 .执行完以下代码i n t x=n e w i n t 2 5;后,以下哪项说明是正确的():A、x 2 4 为 0B、x 2 4 未定义C、x 2 5 为
13、0D、x 0 为空解答:Ax 属于引用类型,该引用类型的每一个成员是i n t类型,默认值为:01 0 .编译运行以下程序后,关于输出结果的说明正确的是():pub l i c c l a ss C o n d i ti o n a l pub l i c sta ti c vo i d m a i n(Stri n g a rg s )i n t x=4;Syste m,o ut.pri n ti n(uva l ue i s”+(x 4)?9 9.9 :9);)A、输出结果为:va l ue i s 9 9.9 9B、输出结果为:va l ue i s 9C、输出结果为:va l ue i
14、 s 9.0D、编译错误解答:c三目运算符中:第二个表达式和第三个表达式中如果都为基本数据类型,整个表达式的运算结果由容量高的决定。99.9 是 d o u b l e 类型 而 9 是 i n t类型,d o u b l e 容量高。1 1 .关于以下a p p l i c a ti o n 的说明,正确的是():1.c l a s s Sta ti c Stu f f2.(3.s ta ti c i n t x=1 0;4.s ta ti c x+=5;5.p u b l i c s ta ti c vo i d m a i n (Str i n g a r g s )6.(7.Sy s
15、te m,o u t.p r i n tl n(x=+x);8.)9.s ta ti c x/=3;1 0.)A、4 行与9 行不能通过编译,因为缺少方法名和返回类型B、9 行不能通过编译,因为只能有一个静态初始化器C、编译通过,执行结果为:x=5D、编译通过,执行结果为:x=3解答:C自由块是类加载的时候就会被执行到的,自由块的执行顺序是按照在类中出现的先后顺序执行。1 2.关于以下程序代码的说明正确的是():1.c l a s s Ha s Sta ti c 2.p r i va te s ta ti c i n t x=1 0 0;3.p u b l i c s ta ti c vo i
16、 d m a i n(Str i n g a r g s L )4.Ha s Sta ti c h s l=n e w Ha s Sta ti c();5.h s l.x+;6.Ha s Sta ti c h s 2=n e w Ha s Sta ti c();7.h s 2.x+;8.h s l=n e w Ha s Sta ti c ();9.h s l.x+;1 0.Ha s Sta ti c.x -;1 1.Sy s te m.o u t.p r i n tl n(x=+x);1 2.)1 3.)A、5 行不能通过编译,因为引用了私有静态变量B、1 0 行不能通过编译,因为x是私有静态
17、变量C、程序通过编译,输出结果为:x=1 0 3D、程序通过编译,输出结果为:x=1 0 2解答:D静态变量是所有对象所共享的,所以上述代码中的几个对象操作是同一静态变量X,静态变量可以通过类名调用。1 3.下列说法正确的有()A.c l a s s 中的c o n s tr u c to r 不可省略B.c o n s tr u c to r 必须与c l a s s 同名,但方法不能与c l a s s 同名C.c o n s tr u c to r 在一个对象被n e w 时执行D.一个 c l a s s 只能定义一个 c o n s tr u c to r解答:c构造方法的作用是在实
18、例化对象的时候给数据成员进行初始化A.类中如果没有显示的给出构造方法,系统会提供一个无参构造方法B.构造方法与类同名,类中可以有和类名相同的方法D.构造方法可以重载1 4.下列哪种说法是正确的()A.实例方法可直接调用超类的实例方法B.实例方法可直接调用超类的类方法C.实例方法可直接调用其他类的实例方法D.实例方法可直接调用本类的类方法解答:DA.实例方法不可直接调用超类的私有实例方法B.实例方法不可直接调用超类的私有的类方法C.要看访问权限1 5.下列哪一种叙述是正确的()A.a b s tr a c t修饰符可修饰字段、方法和类B.抽象方法的b o d y 部分必须用一对大括号 包住C.声
19、明抽象方法,大括号可有可无D.声明抽象方法不可写出大括号解答:Da b s tr a c t可以修饰方法和类,不能修饰属性。抽象方法没有方法体,即没有大括号 1 6.下面代码的执行结果是?i m p o r t ja va.u ti l.*;p u b l i c c l a s s Sh o r tSe tp u b l i c s ta ti c vo i d m a i n(Str i n g a r g s )(Se t s=n e w Ha s h Se t();f o r (Sh o r t i=0;i 0 )5 j=I *2;6)S ys t em,o u t.p r int i
20、n(T he valu e o f j is +j);7)k=k+1;8)I -;9)1 0)A.4B.6C.7D.8解答:ck没有初始化就使用了2 4.对记录序列 31 4,2 98,50 8,1 2 3,486,1 45按从小到大的顺序进行插入排序,经过两趟排序后的结果为:(选择1项)A 31 4,2 98,50 8,1 2 3,1 45,486B 2 98,31 4,50 8,1 2 3,486,1 45C 2 98,1 2 3,31 4,50 8,486,1 45)D 1 2 3、2 98,31 4,50 8,486,1 45解答.R插入排序算法:p u bl i c s t at i
21、 c v o i d i n ject i o n So r t(i n t n u m ber)/第一个元素作为一部分,对后面的部分进行循环fo r (i n t j=1;j n u m ber,l en gt h;j+)i n t t m p =n u m ber j;i n t i =j-1;w hi l e(t m p W h i c h t w o CAN N O T d i r e c t l y c a u s e a t h r e a d t o s t o p e x e c u t i n g?(Ch o o s eT w o)A.Ex i s t i n g f r o
22、 m a s y n c h r o n i z e d b l o c k.B.Ca l l i n g t h e w a i t m e t h o d o n a n o b j e c t.C.Ca l l i n g n o t i f y m e t h o d o n a n o b j e c t.D.Ca l l i n g r e a d m e t h o d o n a n In p u t s t r e a m o b j e c t.E.Ca l l i n g t h e S e t P r i o r i t y m e t h o d o n a T h
23、r e a d o b j e c t.解 答:ADs t o p方法,这个方法将终止所有未结束的方法,包括nm方法。当一个线程停止时候,他会立即释放所有他锁住对象上的锁。这会导致对象处于不一致的状态。当线程想终止另一个线程的时候,它无法知道何时调用s t o p是安全的,何时会导致对象被破坏。所以这个方法被弃用了。你应该中断一个线程而不是停止他。被中断的线程会在安全的时候停止。3 6 W h i c h t w o s t a t e m e n t s a r e t r u e r e g a r d i n g t h e c r e a t i o n o f a d e f a u
24、 l tc o n s t r u c t o r?(Ch o o s e T w o)A.T h e d e f a u l t c o n s t r u c t o r i n i t i a l i z e s m e t h o d v a r i a b l e s.B.T h e d e f a u l t c o n s t r u c t o r i n v o k e s t h e n o-p a r a m e t e r c o n s t r u c t o r o f t h es u p e r c l a s s.C.T h e d e f a u l t c
25、 o n s t r u c t o r i n i t i a l i z e s t h e i n s t a n c e v a r i a b l e s d e c l a r e di n t h e c l a s s.D.If a c l a s s l a c k s a n o-p a r a m e t e r c o n s t r u c t o r,b u t h a s o t h e rc o n s t r u c t o r s,t h e c o m p i l e r c r e a t e s a d e f a u l t c o n s t r
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 笔试 面试 题库
限制150内