设有下面的两个类定义:class A{void show() {System.out.println("我喜欢Java!");}}class B extends A{void show() {System.out.print("我喜欢c++!");}}则顺序执行如下语句后输出结果为()A a=new A();B b=new B();a.show();b.show();
A. 我喜欢Java!我喜欢c++!
B. 我喜欢c++!我喜欢Java!
C. 我喜欢Java!我喜欢Java!
D. 我喜欢c++!我喜欢c++!
查看答案
现在有两个类A和B,以下描述中表示B继承A的是()
A. class A extends B
B. class B implements A
C. class A extends
D. class B extends A
定义类B和类C如下,并将其保存为B.java文件,得到的结果是()class B{int b;B(int i){b=i;}}class C extends B{double c=7.8;}
A. 代码能够成功编译运行
B. 代码无法编译,因为类B不是一个应用程序或小程序
C. 代码无法编译,因为类C没有定义一个带参数的构造方法
D. 代码无法编译,因为类B没有定义一个不带参数的构造方法
类Teacher和Student都是类Person的子类,t、s、p分别是上述三个类的非空引用变量,关于以下语句说法正确的是()if(t instanceof Person) {s=(Student)t;}
A. 将构造一个Student对象
B. 表达式合法
C. 编译时非法
D. 编译时合法而在运行时可能非法
在//point x处的哪个声明是合法的?class Person{private int a;public int change(int m){return m;}}public class Teacher extends Person{public int b;public static void main(String args[]) {Person p=new Person();Teacher t=new Teacher();int i;//point x;}}
A. i=m;
B. i=b;
C. i=p.a;
D. i=p.change(30);