面试选择与简答


1.下面中哪两个可以在A的子类中使用:(AC )

class A {protected int method1 (int a, int b) {return 0;}}

A. public int method 1 (int a, int b) { return 0; }

	符合子类重写父类方法的规则

B. private int method1 (int a, int b) { return 0; }

	子类重写父类的方法,访问权限不能降低    public > protected > friendly> private

C. private int method1 (int a, long b) { return 0; }

	属于重载

D. public short method1 (int a, int b) { return 0; }

	子类重写父类的方法 返回值类型要相同或是父类方法返回值类型的子类

2.抽象方法不可以被static修饰

抽象方法可以在子类中被重写,但是静态方法不能在子类中被重写,静态方法和静态属性与对象是无关的,只与类有关,这与abstract是矛盾的,所以abstract是不能被修饰为static,否则就失去了abstract的意义了

3.以下程序的执行结果是什么?D

class Base{void test() {System.out.println(“Base.test()”);}}

public class Child extends Base {void test() {System.out.println(“Child.test()”);}

public static void main(String[] a) {

Child anObj = new Child();  ase baseObj = (Base)anObj;  baseObj.test();}}

A Child.test() Base.test()

B Base.test() Child.test()

C Base.test()

D Child.test()

测试代码相当于:Base baseObj = new Child();父类的引用指向子类的实例,子类又重写了父类的test方法,因此调用子类的test方法。

4.栈是一种存取受限的线性结构

栈(stack)在计算机科学中是限定仅在表尾进行插入或删除操作的线性表。

5. 下列程序的结果是什么?42

public static void main(String[] args) {

Object obj = new Object() {

public int hashCode() {

return 42;

}

};

System.out.println(obj.hashCode());

}

匿名内部类重写了hashCode方法。

6、下列程序执行结果是什么? 140

public class Text{

public static void main(String[] args){

int a=10,b=4,c=20,d=6;

System.out.println(a++b+c–d);

}

}

在java中执行加减乘除基本运算时,已就遵循先乘除后加减的原则,而++a与a++的区别在于,++a是先自增后在参与运算,a++是先参与运算之后在自增,所以最终答案是104+205=140

7、下列哪两个选项不能直接导致线程停止?

A. 跳出同步代码块

B. 调用wait方法

C. 调用notify方法

D. 调用读取流的方法

E. 设置线程的优先权

解答:AC

stop方法.这个方法将终止所有未结束的方法,包括run方法。当一个线程停止时候,他会立即释放 所有他锁住对象上的锁。这会导致对象处于不一致的状态。 当线程想终止另一个线程的时候,它无法知道何时调用stop是安全的,何时会导致对象被破坏。所以这个方法被弃用了。你应该中断一个线程而不是停止他。被中断的线程会在安全的时候停止。

A、如果一个线程想进入一个已经被另外一个线程占用得同步代码块,这个线程会停止,但是这里说的是跳出

B、他能使当前线程停止,等待别人调用notify方法

C、放另外一个调用了wait方法得线程继续执行,自己也可以继续执行

D、这是典型的阻塞方法,线程等待知道确实有东西可读得时候才会去读

E、因为优先级改变了,JVM要重新选择优先级高得先执行,所以会短暂停止

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值