} }
2. 请写出下面程序的输出结果:_100100100______。 public class Example{
public static void main(String[] args){ int i = 100; switch(i){ case 100:
System.out.print(i); case 200:
System.out.print(i); case 300:
System.out.print(i);
} } }
3. 下列程序的运行结果是:( 6 ) public class Lx1{
public static void main(String[] args) { int i=3 ; int j=3;
for(;i <3; i++){ i--;
for(;j < 3; j++) {
j--; } }
System.out.println(i+j); } }
4. 一般情况下,递归要有明确的( 结束 )条件。
5. 对于父类的含参数构造方法,子类可以通过在自己的构造方法中使用__super ___关键字来调用它,但这个调
用语句必须是子类构造方法的第一条可执行语句。
6. 下面的构造方法中参数个数或类型不同属于Java中的多态的( 重载 ): public class Test { Test(){ }
Test(String s){ }
public static void main(String[] args) { }}
7. 当一个构造方法需要调用另一个构造方法时,可以使用关键字( this )。
8. 在java中一个类和另一个类有has a的关系,则称为两个类之间存在( 聚合 )关系。 9. 在java中一个类和另一个类有is a 的关系,则称两个类之间存在(继承 )关系 10. 当程序中需要引用a包中的类Test时,导入该包中类的语句为(import a.Test )。 11. Java实例化对象过程中,基本类型是存放在内存的( 栈 )中。
12. 项目开发流程中,为了执行规范,每个软件开发人员必须一致遵守(编码规范 )。 13. 父类和子类中的相同方法名,相同参数列表和返回值的方法称为方法的(重写/重载 ) 14. 接口的关键字是(interface )
第 6 页 共 47 页
Test t1=new Test(); Test t2=new Test(\测试\
15.继承的关键字是(extends ) 简答题 (10道)
1. 什么是方法的重写或覆盖(overriding)?
在父类和子类之间,某些方法具有相同的方法名,相同的参数列表和返回值。重写方法不能使用更严格的访问权限和抛出更多的异常。
2. 什么是方法的重载(overloading)
Java的方法重载,是在同一个类中的方法有相同的方法名,不同的参数列表(参数个数,顺序和类型)(调用方法时通过传递给它们的不同参数个数和参数类型来决定具体使用哪个方法, 这就是多态性。) 3. java的8种基本数据类型是哪些?
byte short int long double float boolean char 4. 写程序实现100以内的数字之和。 5. 写方法求两个数中的较大者。 6. 写方法求两个数之和。
7. 构造一个学校类School,要求有学校名称,学校地址,学校占地面积,学校创办时间,学校校长等数据成员。 8. String是基本数据类型吗?
不是,String是引用数据类型 9. =和==的区别
=是赋值,==是判断是否相等返回值为boolean类型
10. Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型?
重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现。如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写 (Overriding)。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被“屏蔽”了。如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading)。Overloaded的方法是可以改变返回值的类型。
题库二
选择题 (25道)
1. 下列程序的运行结果是( C )。
public class X5_1_2 extends x{ int ab(){
static int aa=10; }
public static void main(String[] args) { X5_1_2 x=new X5_1_2(); x.ab(); }
}
A:10 B:11 C:编译错误 2. 已知有下面类的说明:
public class X5_1_1 extends x{ private float f =10.6f; int i=16; static int si=10;
public static void main(String[] args) { X5_1_1 x=new X5_1_1(); } }
第 7 页 共 47 页
aa++;
System.out.println(aa);
D:运行成功,但不输出
在main()方法中,下面哪条语句的用法是正确的?( A )
A :x.f B: this.si C: X5_1_1.i D: X5_1_1.f 3. 阅读如下代码:
public class X5_3_3 extends Hide { int x = 200;
public static void main(String args[]) { X5_3_3 obj = new X5_3_3 ();
System.out.println(\// 数据成员的隐藏 } }
class Hide{
int x = 100; }
运行结果是:( B )
A:100 B: 200 c: 程序错误 D: 300 4. 以下关于继承的叙述正确的是( A )。 A、在Java中类只允许单一继承
B、在Java中一个类只能实现一个接口
C、在Java中一个类不能同时继承一个类和实现一个接口 D、在Java中接口只允许单一继承
5. 下面代码运行后的输出结果为( A )。 public class X6_1_5 {
public static void main(String[] args) { AB aa = new AB(); AB bb; bb = aa; System.out.println(bb.equals(aa)); } }
class AB{ int x = 100; } A.true B.false C.编译错误 6. 接口的关键字是( C )。
D.100
A:extends B:abstract C:interface D:implements 7. A派生出子类B,B派生出子类C,并且在Java源代码中有如下声明: 1. A a0=new A(); 2. A a1 =new B(); 3. A a2=new C();
问以下哪个说法是正确的? (D ) A、只有第1行能通过编译
B、第1、2行能通过编译,但第3行编译出错
C、第1、2、3行能通过编译,但第2、3行运行时出错 D、第1行、第2行和第3行的声明都是正确的 8. 给出下面的程序代码:
public class X4_1_3 { private float a;
public static void m ( ){ }
}
如何使成员变量a被方法m( )访问( C )
A、将private float a改为protected float a B、将private float a改为public float a C、将private float a改为static float a D、将private float a改为float a 9. 已知有下面类的说明:
public class X5 extends x{ private float f =10.6f; int i=16;
static int si=10;
public static void main(String[] args) { X5 x=new X5(); } }
在main()方法中,下面哪条语句的用法是正确的?( A )
第 8 页 共 47 页
A.x.f B.this.si C.super.i 10. Java语言类间的继承关系是( A )。
A.单继承 B.多重继承 C.不能继承 11. 关于以下程序段,正确的说法是( C ) 1. String s1=”abc”+”def”; 2. String s2=new String(s1); 3. if(s1= =s2)
4. System.out.println(“= = succeeded”); 5. if (s1.equals(s2))
6. System.out.println(“.equals() succeeded”); A、行4与行6都将执行 B、行4执行,行6不执行 C、行6执行,行4不执行 C、行4、行6都不执行
12. 下列不是类和类之间的基本关系的是( B )。
D.super.f D.不一定
A:继承 B:封装 C:聚合 D:依赖
13. 一个外部类outer中有一个普通内部类inner,outer中有一属性i,现在要在内部类inner中访问外部类outer
中的i,应该用下面哪个语句(D ) A、 Inner.outer.i B、Outer.i C、this.i D、Outer.this.i
14. 局部内部类是定义在(B )
A、 外部类里面
B、外部类的某个方法里面
C、通过实现接口来实现 D、都可以
15. 匿名内部类的特点下面错误的是( B)
A,匿名内部类没有构造方法 B,匿名内部类是静态的
C,它主要用于继承其他类或实现接口 D、它是一个特殊的局部内部类 16. 16.下面写法不正确的是(C )
A,float a = 3; B, float b = 3.4f; C,byte b = 128; D,double d = 4.5; 17. 17,下列关于抽象类说法正确的是(B ) A,抽象类不能被继承 B,抽象类不能实例化
C,抽象类使用interface关键字 D,抽象类中一定要有抽象方法
18. 18.下列不属于基本数据类型的是(A ) A int[] B. byte C.short D,double 19. 19.下列不属于继承关系的是(B )
A,卡和银行卡 B,汽车和轮胎 C,人和学生 D,动物和狗 20. 20.下列属于聚合关系的是( A)
A,计算机类和主板类 B,计算机类和笔记本类
C,计算机类和台式计算机类 D,计算机类和计算机厂商类 21. 21,下列修饰符能够修饰类的是(D )
A,protect B,private C,protected D, public 22. 22,关于下列代码说法正确的是(C ) public class Test{ public void a(){}
public void a(int i){} public int a(){} }
A,上述三个a方法是方法重载 B,上述三个a方法是方法重写 C,上面代码编译通不过
D,上述三个方法是第一个和第二个a方法是方法的重写,第三个a方法编译会有问题 23. 23,下列代码运行结果为(D )
第 9 页 共 47 页
public static void main(String args[]){ int i = 0; int j = 1; i++; ++j;
System.out.println(i+\ }
A,1 2 B,0 2 C,0 1 D,1 2
24. 24,下列说法实例化写法不正确的是(C ) class A{
public A(String i){} public A(int i){}
public A(int i,int j){} }
A, A a = new A(\ C,A a = new A(); D, A a = new A(1,2); 25. 25,下列不属于引用数据类型的是(A ) A,char B,整型数组 C,char[] D,String
多选题(20道)
1、 (1分)在Java发展的过程中最大进步是程序员不用担心内存管理,因为垃圾收集器会自动进行管理。要请求垃圾收集,不可以调用下面的哪些方法(BD )?
A: System.gc() B : System.exit() C: Runtime.getRuntime().gc() D: quit() 2、 (2分)下列关于java的运行环境说法正确的是 ( ABC )。
A: CLASSPATH为Java加载类(class or lib)路径。 B: Java.exe是用来解释执行Java类文件。
C: JAVA_HOME的作用是指明JDK的安装路径,例如可以设置成C:\\Program Files\\Java\\jdk1.6.0_01。 D: Java 语言编写的程序是与平台无关,所以不须要配置java的运行环境 3、 (1分)在eclipse中运行如下程序: public class X6_1_5 {
public static void main(String[] args) { } }
class AB{ int x = 100; }结果错误的是( BCD )
A.true B.false C.编译错误 D.10 4、 (1分)下列不是Eclipse中单行注释的快捷键是。( ABC ) A. shift+enter B.Ctrl+SHIFT+F 5、 (2分)abstract class A{} interface B{} class C{}
下列写法正确的是:(ABCD ) A: C c = new C(); B:class D implements B{} C:class E extends A{}
D:class F extends C{} 6、(1分)下面的选项中,哪些项属于“汽车类”的属性( ACD )。
第 10 页 共 47 页
AB aa = new AB(); AB bb; bb = aa;
System.out.println(bb.equals(aa));
C. Ctrl+Shift+r D. Ctrl+1