21. 以下哪个接口的定义是正确的( )。 [单选题] *
interface B{ void print() { } } |
abstract interface B { void print() } |
abstract interface B extends A1,A2 { abstract void print(){ }; } |
interface B { void print();}(正确答案) |
22. 下列哪个叙述是正确的?
[单选题] *
能用public修饰接口(正确答案) |
能用protected修饰接口 |
能用final修饰接口 |
能用private修饰接口 |
23. "对于下列Com接口(Com.java)类,哪个叙述是错误的?
interface Com{
int MAX=100;
void stop();
abstract void start();
}" [单选题] *
void stop();会导致编译出错(正确答案) |
编译器认为void stop();就是public abstract void stop(); |
编译器认为abstract void start();就是public abstract void start(); |
编译器认为int MAX=100;就是public static final int MAX=100; |
24. "下列ABCD注释标注的哪行代码有错误?
class A{
static int m;
static void f(){
m=20; //A
}
}
class B extends A{
void f(){ //B
m=222; //C
}
}
class E{
public static void main(String args[]){
A.f(); //D
}
}" [单选题] *
A |
B(正确答案) |
C |
D |
25. 下列哪个叙述是正确的?
[单选题] *
abstract类中,必须要有abstract方法 |
子类和父类必须在一个包中 |
abstract类中用户不能写构造方法 |
如果一个类中有abstract方法,这个类必须是abstract类(正确答案) |
26. 下列哪一个叙述是正确的? [单选题] *
和接口有关的匿名类可以是抽象的 |
和类有关的匿名类还可以额外地实现某个指定的接口 |
和类有关的匿名类一定是该类的一个非抽象子类(正确答案) |
和接口有关的匿名类的类体中可以有static成员变量 |
27. 请分析以下代码能否被放置在相应的位置上
class Demo{
public void func(){
//位置1 }
class Inner{}
public static void main(String [] args){
Demo d=new Demo();
//位置2
}} [单选题] *
位置1:new Inner();(正确答案) |
位置2:new Inner(); |
位置2:new d.Inner(); |
位置2:new Demo.Inner(); |
28. 编译下列E.java得到E$1.class,E.class,HelloMachine.class,SpeakHello.class字节码文件。下列哪个叙述是正确的?
interface SpeakHello{
void speak();
}
class HelloMachine{
public void turnOn(SpeakHello hello){
hello.speak();
}
}
public class E{
public static void main(String args[]){
HelloMachine machine=new HelloMachine();
machine. turnOn(new SpeakHello(){
public void speak(){
System.out.println(“hello,you are welcome!”);
}
});
}
} [单选题] *
E$1.class是接口匿名类的字节码(编译器给该匿名类的名字是E$1)(正确答案) |
E.class是接口匿名类的字节码 |
HelloMachine.class是接口匿名类的字节码 |
SpeakHello.class是接口匿名类的字节码 |
29. 下列哪个叙述是错误的?
[单选题] *
匿名类没有构造方法(正确答案) |
匿名类只有一个不带参数的构造方法(编译器会给匿名类一个名字和构造方法) |
匿名类一定是final类 |
匿名类一定是内部类 |
30. 下列代码运行输出的结果是
abstract class A{
abstract int get();
}
class People{
int computer(A a){
return a.get()*2;
}
}
class E{
public static void main(String[] args){
People p=new People();
int m=p.computer(new A(){
int m=100;
public int get(){
return 100+m;
}
});
System.out.println(m);
}
} [单选题] *
2 |
100 |
200 |
400(正确答案) |