1609第一次月考详细解析 下载本文

A.public int print(String str){} B.private int print(String str){} C.private void print(String str){} D.public void print(String str){} 正确答案:A

10.(单选)下列代码的输出结果是()。 boolean

b=true?false:true==true?false:true; System.out.println(b);

//三目运算符结构:boolean表达式?表达式1:表达式2

true?false:true==true?false:true; 选择表达式1 :false A.true B.false C.null

D.空字符串 正确答案:B

11.(单选)下列赋值语句中,正确的是()。 A.byte b1 = 10, b2 = 20; byte b=b1+b2; //需要强转,byte b = (byte)(b1+b2) B.byte b1 = 10, b2 = 20; byte b=~b1; //需要强转, byte b=(byte)(~b1);

C.byte b1 = 10, b2 = 20; byte b=b1>>1; //需要强转byte b=(byte)(b1>>1); D.byte b1 = 10; byte b=++b1; 正确答案:D

12.(单选)类Super及Sub定义如下: public class Super { private void f() {

System.out.println(\public void g() { f(); }

public void k() { f(); } }

public class Sub extends Super { private void f() {

System.out.println(\

public void k() { f(); } } 运行下列语句: Super obj = new Sub();

//创建了一个obj的引用变量指向Sub对象,类型为Super obj.g();

//能点出来什么看类型,所以这时调的g方法应该是访问Super的g()方法,g方法里调f()方法,父类的f()方法为private为不可重写。

虽然子类中看上去重写了,其实是两个无关f()方法,只是方法名而已。 在多态调用的时候,只会直接找父类的f()方法.

所以调用f()方法时,实际是调用父类的private。输出:Super.f()

obj.k();

//调k()方法,子类重写后的版本,它为一个公共方法,该公共方法再调用本类的私有方法.

输出:Sub.f()

输出的结果是:()。 A.Sub.f() Sub.f() B.Sub.f() Super.f() C.Super.f() Sub.f() D.Super.f() Super.f() 正确答案:C 13.

(单选)关于下列代码说法正确的是: class ClassA {

public int numberOfinstances;

protected ClassA(int numberOfinstances) { this.numberOfinstances = numberOfinstances; } }

public class ExtendedA extends ClassA { private ExtendedA(int numberOfinstances) { super(numberOfinstances); }

public static void main(String[] args) {

ExtendedA ext = new ExtendedA(420); //new对象,走进子类构造方法,执行代码前先调用父类的有参构造方法

System.out.print(ext.numberOfinstances); } } A.运行后,输出420 B.运行时抛出异常

C.编译错误,所有的构造器必须是public的 D.编译错误,构造器不能是private的 正确答案:A

//子类(Sub class)可以继承父类(Super class)的成员变量及成员方法。届时,子类将具有父类的成员

注意补充:java构造方法的修饰符:public,protected,默认,private四种都可以

使用public修饰构造方法,那么所有的类都可以实例化这个类。

使用private修饰构造方法,那么所有的类都不可以实例化使用这个类。 14.

(单选)关于下列代码说法正确的是: public class A { private int counter = 0;

public static int getInstanceCount() { return counter; } public A() { counter++; }