1. 下列哪个叙述是正确的? [单选题] *
没有实体的对象称作空对象,程序运行时,如果一个空对象调用实例方法也不会发生异常 |
类的名字习惯上遵守下划线规则 |
一个类声明的两个对象如果具有相同的引用,二者就具有完全相同的变量(实体)(正确答案) |
如果在类中显示地定义了构造方法,Java编译器还继续提供默认的不带参数的构造方法 |
2. "A派生出子类B,B派生出子类C,并且在Java源代码中有如下声明:Aa0=newA();Aa1=newB();Aa2=newC();问以下哪个说法是正确的?" [单选题] *
只有第1行能通过编译 |
第1、2行能通过编译,但第3行编译出错 |
第1、2、3行能通过编译,但第2、3行运行时出错 |
第1行、第2行和第3行的声明都是正确的(正确答案) |
3. 设有下面两个类的定义。
class Person{
long id;//身份证号
String name;//姓名
class Student extends Person{
int score;//入学总分
int getScore(){
return score;
}}
则类Person和类Student的关系是?" [单选题] *
包含关系 |
继承关系(正确答案) |
关联关系 |
上述类定义有语法错误 |
4. 下列叙述中,正确的是? [单选题] *
子类继承父类的所有属性和方法 |
子类可以继承父类的私有的属性和方法 |
子类可以继承父类的公有的属性和方法(正确答案) |
创建子类对象时,父类的构造方法都要被执行 |
5. 下列叙述中错误的是? [单选题] *
一个子类可有多个父类(正确答案) |
父类派生出子类 |
子类继承父类 |
一个子类只能有一个父类 |
6. 对于子类的构造函数说明,下列叙述中不正确的是? [单选题] *
子类无条件地继承父类的无参构造函数 |
子类可以在自己的构造函数中使用super关键字来调用父类的含参数构造函数,但这个调用语句必须是子类构造函数的第一个可执行语句 |
在创建子类的对象时,将先执行继承自父类的无参构造函数,然后再执行自己的构造函数 |
子类不但可以自动执行父类的无参构造函数,也可以自动执行父类的有参构造函数(正确答案) |
7. 同一类中有两个以上方法同名称方法重载,Java语言规定() [单选题] *
不允许重载 |
父类的方法与子类的方法不构成重载 |
重载方法的参数表必须不同(正确答案) |
重载方法的返回值类型必须不同 |
8. 下述代码的执行结果是()
class Super{
public int getLength(){
return 4;
} }
public class Sub extends Super{
public long getLength(){
return 5;
}
public static void main(String[] args){
Super sooper=new Super();
Super sub=new Sub();
System.out.println(sooper.getLength()+","+sub.getLength());
}} [单选题] *
4,4 |
4,5 |
5,4 |
代码不能被编译(正确答案) |
9. 下列哪个叙述是正确的? [单选题] *
如果在子类中想使用被子类隐藏的成员变量或方法就需要使用关键字super(正确答案) |
子类不可以声明和父类同名的成员变量 |
子类继承父类的构造方法 |
子类不可以定义和父类同名的方法 |
10. 对于下列代码,哪个叙述是正确的?
class People{
People(int m){}
}
class Student extends People{} [单选题] *
可以用People类以及无参构造方法创建对象:new People() |
可以用Student类以及无参构造方法创建对象:new Student() |
代码无法通过编译。原因是,父类People已经没有了不带参数的构造方法,而子类Student构造方法默认调用People类的无参构造方法(正确答案) |
People类不能创建对象 |
11. "对于下列代码,哪个叙述是正确的?
class Animal{
int m;
Animal(){
m=100;
}
Animal(int m){
this.m=m;
}}
class Dog extends Animal{
Dog(){
m+=10;
}}
public class E{
public static void main(String args[]){
Dog dog=new Dog();
System.out.println(dog.m);
}}" [单选题] *
有编译错误 |
运行输出结果是10 |
运行输出结果是100 |
运行输出结果是110(正确答案) |
12. 对于下列代码,哪个叙述是正确的?
class Animal{
int m;
Animal(){
m=100;
}
Animal(int m){
this.m=m;
}}
class Dog extends Animal{
Dog(){
super();
m+=10;
}}
public class E{
public static void main(String args[]){
Dog dog=new Dog();
System.out.println(dog.m);
}} [单选题] *
有编译错误 |
运行输出结果是10 |
运行输出结果是18(正确答案) |
运行输出结果是110 |
13. 以下程序正确的输出是()
package test.father;
public class FatherClass{
public FatherClass(){
System.out.println("FatherClassCreate");
}}
package test.child;
import test.father.FatherClass;
public class ChildClass extends FatherClass{
public ChildClass(){
System.out.println("ChildClassCreate");
}
public static void main(String[]args){
FatherClass fc=new FatherClass();
ChildClass cc=new ChildClass();
}} [单选题] *
第一行FatherClassCreate第二行FatherClassCreate第三行ChildClassCreate(正确答案) |
第一行FatherClassCreate第二行ChildClassCreate第三行FatherClassCreate |
第一行ChildClassCreate第二行ChildClassCreate第三行FatherClassCreate |
第一行ChildClassCreate第二行FatherClassCreate |
14. 关于被私有访问控制符private修饰的成员变量,以下说法正确的是() [单选题] *
可以被三种类所引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子类 |
可以被两种类访问和引用:该类本身、该类的所有子类 |
只能被该类自身所访问和修改(正确答案) |
只能被同一个包中的类访问 |
15. 若在某一个类定义中定义有如下的方法:final void workDial()该方法属于 [单选题] *
本地方法 |
最终方法(正确答案) |
静态方法 |
抽象方法 |
16. 下列哪个叙述是正确的? [单选题] *
如果子类可以继承父类的某个方法,那么子类就有权利重写这个方法(正确答案) |
子类在方法重写时,可以把父类的类(static)方法重写为实例方法 |
子类在方法重写时,可以把父类的实例方法重写为类(static)方法 |
子类在方法重写时,可以重写父类的final方法 |
17. 类中的某个方法是用final修饰的,则该方法() [单选题] *
是虚拟的,没有方法体 |
是最终的,不能被子类继承 |
不能被子类同名方法复盖(正确答案) |
不能被子类其它方法调用 |
18. 下列关于 interface 的说法正确的是( )
[单选题] *
interface 中可以有 private 方法 |
interface 中可以有 final 方法 |
interface 中可以有 function 实现 |
interface 可以继承其他 interface(正确答案) |
19. 接口是 Java 面向对象的实现机制之一,以下说法正确的是( )
[单选题] *
Java 支持类的多继承,一个类可以实现多个接口 |
Java 只支持类的单继承,但一个类可以实现多个接口(正确答案) |
Java 只支持类的单继承,一个类只可以实现一个接口 |
Java 支持类的多重继承,但一个类只可以实现一个接口 |
20. 在JAVA中,已定义两个接口B和C,要定义一个实现这两个接口的类,以下语句正确的是( )
[单选题] *
interface A extend B,C |
interface A implements B,C |
class A implements B,C(正确答案) |
class A implements B, implements C |