1、 A._mem B.12a/不能以数字开头 C.M12 D.$126.(单选)下列Java标识符,错误的是() A._sys_varl B.$change C.User_name D.1_file/不能以数字开头D7.(单选)Java程序的执行过程中用到一套JDK工具,其中javac.exe是指()。 A.Java语言编译器 B.Java字节码解释器 C.Java文档生成器 D.Java类分解器A8.(单选)运行下列代码: int oneArr = 2, 11, 26, 27, 37, 44, 48, 60 ; int twoArr = 19, 35, 49, 55, 58, 75, 83,
2、84, 91, 93 ; int threeArr = new intoneArr.length + twoArr.length;int p = 0, q = 0; while (p oneArr.length & q twoArr.length) threeArrp + q = oneArrp twoArrq ? oneArrp+ : twoArrq+; if (p oneArr.length) System.arraycopy(oneArr, p, threeArr, p + q, oneArr.length - p); else if (q 1;/需要强转byte b=(byte)(b1
3、1); D.byte b1 = 10; byte b=+b1;12.(单选)类Super及Sub定义如下: public class Super private void f() System.out.println(Super.f(); public void g() f(); public void k() f(); public class Sub extends Super private void f() System.out.println(Sub.f() 运行下列语句: Super obj = new Sub();/创建了一个obj的引用变量指向Sub对象,类型为Superobj
4、.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(
5、) Super.f()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) E
6、xtendedA ext = new ExtendedA(420); /new对象,走进子类构造方法,执行代码前先调用父类的有参构造方法System.out.print(ext.numberOfinstances); A.运行后,输出420 B.运行时抛出异常 C.编译错误,所有的构造器必须是public的 D.编译错误,构造器不能是private的/子类(Sub class)可以继承父类(Super class)的成员变量及成员方法。届时,子类将具有父类的成员注意补充:java构造方法的修饰符:public,protected,默认,private四种都可以使用public修饰构造方法,那么
7、所有的类都可以实例化这个类。使用private修饰构造方法,那么所有的类都不可以实例化使用这个类。14.public class A private int counter = 0; public static int getInstanceCount() return counter;public A() counter+;A a1 = new A();A a2 = new A(); A a3 = new A(); System.out.println(A.getInstanceCount(); A.该类编译失败 B.输出:1 C.输出:3 D.输出:/在static方法中无法返回非stat
8、ic的变量由于static在调用时没有具体的对象,因此在static方法中不能对非static成员(对象成员)进行访问。15.(单选)下面for语句,存在编译错误的是()。 A.for( ; ; )/相当于while(true),死循环 B.for(int i=0; i 100;i+) C.for(int i = 0, j=0;i+,j+)/相当于while(true),死循环 D.for(int i = 0; 10)/缺循环变量的变化16.(单选)请看下列代码: interface Foo int bar(); public class Sprite public int fubar(Foo
9、 foo) return foo.bar();public void testFoo() fubar( );使类Sprite编译通过,在处应填入的代码是: A.Foo public int bar() return 1; B.new Foo public int bar() return 1; C.new Foo() public int bar()return 1; D.new class Foo public int bar() return 1;/ 接口无法实例化:fubar方法中需要传入一个Foo类型的参数,但是Foo只是一个接口,无法直接实例化对象,因此在这里我们选择了匿名内部类进行
10、实例化17. public class Plant private String name;public Plant(String name) this.name = name; /Plant中的有参的构造方法 public String getName() return name; class Tree extends Plant public void growFruit() public void dropLeaves() 下列说法正确的是:A. 在Tree类中添加代码:public Tree() Plant(); ,编译将通过/子类构造方法中调用父类的构造方法,写法是:super();
11、不写的话系统会默认有 B.在Plant类中添加代码:public Plant() Tree(); C.在Plant类中添加代码:public Plant() this(”fern”); ,编译将通/无参构造方法中调用有参的构造方法,可以。格子类的时候,有类似的例子 D.在Plant类中添加代码:public Plant() Plant(”fern”);18.(单选)请看下列代码编译和运行的结果是()。 interface DeclareStuff public static final int EASY = 3;void doStuff(int t);public class TestDecl
12、are implements DeclareStuff public static void main(String args) int x = 5;new TestDeclare().doStuff(+x);/调用方法,把+x(为6)传给了形参s,这时s为6s = 6 + 3 + 7 void doStuff(int s) /编译错误,方法缺public 修饰,接口的方法默认都是由public abstract 修饰的 s += EASY + +s; /等同于s = s + EASY + (+s)/用debug调试,非常容易看到结果的变化s= + s); A.s=14 B.s=16 C.s=
13、10 D.编译失败D/如果没有编译错误,能输出s=1619.(单选)下列关于IDE开发环境Eclipse,说法错误的是: A.Eclipse可以通过插件(plugin)的方式扩展其功能。 B.Eclipse联盟是由IBM公司捐资组建的。 C.Eclipse使用了SWT图形界面技术。 D.Eclipse的运行不需要有JRE的支持。D/这题都要讲解的话,是在侮辱你的智商20.(单选)下列代码的输出结果是: public class Blip protected int blipvert(int x) return 0;class Vert extends Blip 在 0) ? elements0
14、 : null; true System.out.println(first); A.编译出错teafornull25.(单选)运行下面的程序: int a = 100; int b = 200;a = a + b; /a = 100+200 = 300;b = a - b; /b = 300-200 = 100;a = a - b; /a = 300 100 = 200;a= + a + , b= + b); A.a=100, b=300 B.a=100, b=200 C.a=200, b=100 D.a=300, b=20026.(单选)下列关于JVM说法,错误的是()。 A.JVM通过专
15、门的线程实现内存的回收。 B.使用java命令时,可以通过参数来设置分配JVM的内存大小。 C.JRE包括JVM及Java核心类库。 D.目前主流版本JVM通过纯解释的方式运行Java字节码。 JVM先通过javac进行编译,再将编译后的字节码文件通过java指令进行解释运行,如果纯解释的话根本无法识别源码27.(单选)请看下列代码: interface Data public void load(); abstract class Info public abstract void load();下列选项中,能正确使用Data接口和Info类的是()。 A.public class Empl
16、oyee extends Info implements Data public void load() /*do something*/ B.public class Employee implements Info extends Data public void load() /*do something*/ /要先继承后实现 C.public class Employee implements Info extends Data public void Data.load() /*d something */ public void load() /*do something */ D
17、.public class Employee extends Info implements Data public void load() /*do something */ public void Info.load() /*do something*/ 先继承后实现,排除BC,D中Info.load()错误,静态方法才可以通过类名点方法注意:接口中的load和Info中的load的签名完全一致,同时没有父子继承关系,所以load方法既不构成重载,也不构成重写。28.(单选)类A,B的定义如下: class A private int a = 100;A() System.out.print(A() System.out.println(a); class B extends A private int a = 200; B() B()System.out.println(a);运行下面的代码:new B();实例化B类对象,程序调用B类无参构造器,执行代码前先隐式调用父类无参构造输出的结果是:
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2