JAVAOOP测试题
1、分析下列代码
class Aclass{
        Aclass(){
            System.out.print(“Aclass”);
}
}
public class Bclass extends Aclass{
        public Bclass(){
            System.out.println(“Bclass”);
}
        public static void main(String[] args){
            Aclass a = new Aclass();
            Aclass a1 = new Bclass();
}
}
其执行的结果为()。
a)编译失败
b)编译成功且输出”Aclass Bclass”
c)编译成功且输出”Aclass Aclass Bclass”
d)编译成功且输出”Aclass Bclass Bclass”
2、分析下列程序
Class Super{
        public int i=0;
        public Super(String text){
            i = 1;
}
}
public class Sub extends Super{
        public Sub(String text){
            i=2;
}
public static void main(String[] args){
    Sub sub = new Sub(“Hello”);
    System.out.println(sub.i);
}
}
该程序的结果是()。
a)编译失败
b)编译成功且输出“0”
c)编译成功且输出“1”
d)编译成功且输出“2”
3、分析下列程序:
public class Super{
        public int getLength(){
            return 4;
}
}
public class Sub extends Super{
        public int getLength(){
            return 5;
}
public static void main(String[] args){
    Super sooper = new Super();
    Sub sub = new Sub();
    System.out.Length()+”,”+Length());
}
}
a)4,4
b)4,5
c)5,4
d)5,5
4、下面有关Java异常处理模型的说法错误的是()。
a)一个try块只能有一条catch语句
b)一个try块中可以不使用catch语句
c)Catch块不能单独使用,必须始终与try块在一起
java重写和重载的区别
d)Finally块不能单独使用,必须始终与try块在一起
5、下列选项中关于Java中super关键字的说法错误的是()。
a)super关键字是在子类对象内部指代其父类对象的引用
b)super关键字不仅可以指代子类的直接父类,还可以指代父类的父类
c)子类可以通过super关键字调用父类的方法
d)子类可以通过super关键字调用父类的属性
6、下列选项中关于Java中this关键字的说法错误的是()。
a)this是在对象内部指代对象自身的引用
b)this关键字可以在类中的任何位置使用
c)this只和特定的对象关联,而不和类关联
d)同一个类的不同对象有不同的this
7、分析下列程序:
class A{
        public int getNumber(){
            return 1;
}
}
class B extends A{
        public int getNumber(){
            return 2;
}
public static void main(String args[]){
    A b = new B();
    System.out.Number());
}
}
该程序的结果是()。
a)编译成功并输出1
b)编译成功并输出2
c)编译在第8行引起错误
d)编译在第14行引起错误
e)编译成功但执行时在第14行抛出异常
8、分析下列程序:
class A{
        public int getNumber(int a){
            return a+1;
}
}
Class B extends B{
        Public int getNumber(int a,char c){ //第7行
            Return a+2;
}
Public static void main(String[] args){
    A a = new B();   
    System.out.Number(0));//第14行
}
}
该程序的执行结果是()。
a)编译成功并输出“1”
b)在第7行出现编译错误
c)编译成功并输出“2”
d)在第14行出现编译错误
9、在Java中,Object类是所有类的父亲,用户自定义类默认扩展自Object类,下列选项中的()方法不属于Object类的方法。
a)equals(Object obj)
b)getClass()
c)toString()
d)trim()
10、给定如下Java代码,关于super的用法,以下描述正确的是()。
class C extends B{
    public C(){
    super();
}
}
a)用来调用类B中定义的super()方法
b)用来调用类C中定义的super()方法
c)用来调用类B的无参构造方法
d)用来调用类B中第一个出现的构造方法
11、在Java中,类Test的代码如下所示,假设类Test的实例化对象名为t,则选项()中的语句能正确调用Test类的方法。
class Test{
        public int change(){
            System.out.println(“No parameters”);
            return 0;
}
Public void change(double m){
    System.out.println(“parameter is:”+m);
}
}
a)Test.change(15.2f);
b)Test.change();
c)t.change(250.5);
d)int a = t.change(13);
12、给定如下Java代码,编译运行时将输出()。
class Base{
        int i=1;
        public void amethod(){
    System.out.println(“Base.amethod()”);
}
Base(){
    amethod();
}
}
public class Descend extends Base{
        int i=-1;
        public static void main(String[] args){
            Base b = new Descend();
            System.out.println(b.i);
b.amethod();
}
public void amethod(){
    System.out.println(“Descend.amethod()”);
}
}
a)Base.amethod()
-1
Descend.amethod()
b)Descend.amethod()
1
Descend.amethod()
c)1
Descend.amethod()
d)Base.amethod()
1
Descend.amethod()   
13、在Java类中,使用以下()声明语句来定义公有的int型常量MAX.
a)public int MAX = 100;
b)final int MAX = 100;
c)public static int MAX = 100;
d)public static final int MAX = 100;
14、在Java中,已定义两个接口B和C,要定义一个实现这两个接口的类,以下语句正确的是()。
a)interface A extends B,C
b)interface A implements B,C
c)class A implements B,C
d)class A implements B,implements C
15、在Java中,有如下两个类Student和Person。如果Student是Person的子类,则下列声明对象x的语句中错误的是()。
a)Person x = new Student()
b)Person x = new Person()
c)Student x = new Person()
d)Student x = new Student()
16、分析如下所示的Java代码,其中this关键字的意思是()。
public class Test{
    private String name;
    public String getName(){
        return name;
}
public void setName(String name){
    this.name = name;
}
}
a)。
b)是在Test类的内部指代自身的引用
c)Test类的对象引用其他Test类对象
d)指所在的方法
17、给定如下Java程序,这段程序编译运行后的输出结果是()。
public class Test{
        public static void aMethod() throws Exception{
            try{
            throw new Exception();
}finally{
    System.out.println(“Finally”);
}
}
public static void main(String[] args){
    try{
        aMethod();
}catch(Exception e){
    System.out.print(“Exception”);
}
System.out.print(“Finished”);
}
}
a)FinallyException
b)Finally
c)ExceptionFinallyFinished
d)FinallyExceptionFinished
18、下列对Java中的继承描述错误的说法是()。
a)子类至少有一个基类
b)子类可作为另一个子类的基类
c)子类可以通过this关键字来访问父类的私有属性
d)子类继承父类的方法访问权限保持不变
19、Try{}里有一个return语句,那么紧跟在这个try后的finally{}里的代码会不会被执行,什么时候被执行?
a)不会执行
b)会执行,在return前执行
c)会执行,在return后执行
d)会执行,可能在return前执行,也可能在return后执行
20、下列属于方法重载好处的是()。<选择两项>
a)实现多态
b)方法名的复用
c)提高程序运行速度
d)使用方便,提高可读性
21、面向对象方法的多态性是指()。
a)一个类可以派生出多个特殊类
b)一个对象在不同的运行环境中可以有不同的变体

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。