Java期末复习三

一、选择题

1、Java application 中的类主要包含main方法,main方法的返回类型是什么?

A)int                   B)float              C)double           D)void

2、异常包含下列哪些内容?

A)程序中的语法错误                                             B)程序的编译错误     

C)程序执行过程中遇到的事先没有预料到的情况  D)程序实现定义好的可能出现的

3、函数重载是指:

A)两个或两个以上的函数取相同的函数名,但形参的个数或类型不同

B)两个以上的函数取相同的名字和具有相同的参数个数,但形参的类型可以不同

C)两个以上的函数名字不同,但形参的个数或类型相同

D)两个以上的函数取相同的函数名,并且函数的返回值类型相同

4、导入A中的类AA应该使用下面那一条语句?

A)import A.AA;         B)import AA;       C)package A;        D)package AA;

5、byte的取值范围是?

A)-128到127      B)-32768到31767      C)-124到123           D)-31768到31767

6、Swing界面编程中哪个组件不是顶层容器

A)JFrame              B)JDialog               C)JPanel                   D)JApplet

7、下列哪个选项中可实现无限循环的语句是?  

A)for ( ) { }                 B)while ( 1 ) {}            C)while ( ! 0 ) { }             D)while( true ) { }

8、下列哪个是Java应用程序主类中正确的main方法?

A)public void main(String args[])                    B)static void main(String args[])
C)public static void Main(String args[])         
D)public static void main(String args[])

9、以下关于继承的叙述正确的是?

A、在Java中类只允许单一继承
B、在Java中一个类只能实现一个接口
C、在Java中一个类不能同时继承一个类和实现一个接口
D、在Java中接口只允许单一继承

10、以下 Integer 代码输出的结果是?//注意取值范围

Integer age = 10;
Integer age2 = 10;
Integer age3 = 133;
Integer age4 = 133;
System.out.println((age == age2) +
"," + (age3 == age4));

A、true, false            B、true, true                 C、false , false                 D、10,133

各包装类高频区域的取值范围:

Boolean:使用静态final定义,就会返回静态值;

Byte      :缓存区 -128~127,全部缓存;

Short     :缓存区 -128~127,部分缓存;

Character  :缓存区0~127,部分缓存;

Long      :缓存区-128~127,部分缓存;

Integer   :缓存区-128~127,部分缓存

Float 和Double不会有缓存
————————————————
版权声明:本文为CSDN博主「monologuezjp」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/monologuezjp/article/details/99670619

11、在Java中,能实现多重继承效果的方式是?

A、内部类                  B、适配器                   C、接口                       D、同步

12、Java基本数据类型从大到小排列正确的选项是?

A、double>float>int>byte                   B、float>double>int>byte

C、int>float>int>byte                          D、byte>float>int>byte

13、下列数组中a[2]的值为2的是?//从0开始

A、int [] a = {1, 2, 3, 4};                          B、int [] a = { 2, 3, 4, 1};
C、int [] a = {4, 3, 2, 1};                          D、int [] a = {1, 3, 4, 2};

14、给出下面代码,关于该程序一下哪个说法是正确的?

public class Person{
static int arr[] = new int[5];
public static void main(String a[]) {
System.out.println(arr[0]);
}
}

A、编译时将产生错误                             B、编译时正确,运行时将产生错误
C、输出0                                                 D、输出空

15、A派生出子类B,B派生出子类C,并且在Java源代码中如下声明:

A a0 = new A();

A a1 = new B();

A a2 = new C();

问以下哪一个说法是正确的?

A、只有第1行能通过编译

B、第1,2行能通过编译,但第3行编译时出错

C、第1,2,3行能通过编译,但2,3行运行时出错

D、第1行,第2行和第3行的声明都是正确的

16、关于被私有访问控制符 private 修饰的成员变量,以下说法正确的是:

A、可以被三种类所引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子

B、可以被两种类访问和引用:该类本身、该类的所有子类
C、只能被该类自身所访问和修改
D、只能被同一个包中的类访问

17、下面哪个方法与题目中的不是重载方法 public int max(int x,int y)

A、public double max(double x,double y)
B、public int max(int n,int C)
C、public int max(int x,int y, int z)
D、public double max(double n,double k)

18、

class ABC{

  int i = 1;

  public void static main(){

     ABC abc = new ABC();

     ABC tmp = abc;

     System.out.println(abc.i);

  }

}

A)4                                 B)3                       C)2                   D)1

19、语句 super();的位置为:

A、父类的无参数构造方法中                            B、父类的带参数构造方法中

C、子类的无参数构造方法中                            D、子类的带参数构造方法中

20、Java允许同一个类中存在同名但参数不同的方法,这称为(),

A)方法的重载            B)方法的覆盖

21、子类的构造方法调用父类的构造方法,使用(    )。

A、this(......);                                         B、super(......)

C、this.****                                            D、super.******

22、用 final修饰的类,()

A、可以被继承                                    B、为最终类,不能被继承

C、为抽象类                                       D、该类中含有抽象方法

23、在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数 个数、类型 或者这顺序不相同,传回的职业可以不相同。这种面向对象程序的特性称为()。 

A、隐藏                                              B、覆盖

C、重载                                              D、Java不支持此特性

24、在Java中,能实现多重继承效果的方式是:

A、接口                                              B、继承

C、内部类                                          D、适配器

25、A派生出子类B,B派生出子类C,对于如下Java源代码正确的说法是()。

1、A  a0 =new  A();

2、A  a1 =new  B();

3、A  a2 =new  C(); 

A、只有第1行能通过编译

B、第1、2行能通过编译,但第3行编译出错

C、第1、2、3行能通过编译,但第2、3行运行时出错

D、第1行、第2行和第3行的声明都是正确的

26、对象的特征在类中表示为变量,称为类的(    )。

A、对象                                                                B、属性

C、方法                                                                D、数据类型

27、A 类有如下定义,设 a 是 A 类的一个实例,A a = new A(); 

解析://静态成员和静态方法, 可以直接通过类名进行调用;

//其他的成员和方法则需要进行实例化成对象之后, 通过对象来调用

       下列语句调用哪个是错误的?(  )

class A

{

int i;

static String s;

void method1() { }

static void method2() { }

}

A、System.out.println(a.i);                                     B、a.method1(); 

C、A.method1();                                                    D、A.method2();

28、下面哪一个不是Java的关键字()

A、final                                                                      B、false

C、finally                                                                   D、float

29、下面哪个不是Java的基本数据类型(   )

A、byte                                                                    B、boolean

C、integer                                                                D、double

30、正确的main()方法说明是:

A、int main()

B、private static void main(Stringargs[ ])

C、public main(String args[ ])

D、public static void main(String args[ ])

31、下面关于静态方法描述错误的是:

解析:静态方法不属于对象,是属于类的,是不需要实例化的,而非静态变量是属于对象的,需要先实例化。在一个类的静态成员中去访问其非静态成员之所以会出错是因为在类的非静态成员不存在的时候类的静态成员就已经存在了,访问一个内存中不存在的东西当然会出错。

A、静态方法是类的方法

B、对象也可以使用静态方法

C、非静态方法可以调用静态方法

D、静态方法可以调用非静态的方法

32、下列关于this关键字的说法中,错误的是( )
A、this可以解决成员变量与局部变量重名问题
B、this出现在成员方法中,代表的是调用这个方法的对象
C、this可以出现在任何方法中
D、this相当于一个引用,可以通过它调用成员方法与属性

参考答案:C
【答案解析】this关键字有三个作用,具体如下:
1、通过this关键字可以明确地去访问一个类的成员变量
2、通过this关键字调用成员方法
3、构造方法中使用“this(参数1,参数2…)”的形式来调用其它的构造方法

33、下列关于静态方法的描述中,错误的是( )
A、静态方法指的是被static关键字修饰的方法
B、静态方法不占用对象的内存空间,而非静态方法占有对象的内容空间
C、静态方法内可以使用this关键字
D、静态方法内部只能访问被static修饰的成员

参考答案:C
【答案解析】静态方法内部不可以使用this、super等关键字。

34、下列关于构造方法定义的描述中,错误的是( )
A、方法名与类名相同
B、在方法名的前面没有返回值类型的声明
C、当定义了有参构造方法,系统默认的无参构造方法依然存在
D、在方法中不能使用return语句返回一个值

参考答案:C
【答案解析】当定义了有参构造方法,系统不再提供默认的构造方法。

35、下列关于类与对象的说法中,错误的是( )
A、类是对某一类事物的抽象描述,而对象则是该类事物的个体。
B、对象是类的实例化。
C、类用于描述多个对象的共同特征,它是对象的模板。
D、类与对象没有什么实际关系。
参考答案:D
【答案解析】对象是通过类来创建的。

36、“隐藏对象的属性和实现细节,仅对外提供公有的方法”描述的是面向对象的哪个特征( )
A、封装
B、继承
C、多态
D、以上都不是
参考答案:A
【答案解析】封装是面向对象的核心思想,将对象的属性和行为封装起来,不需要让外界知道具体实现细节,这就是封装思想。

37、(   )是Java语言的关键字

A、public                                                              B、static

C、void                                                                 D、都是

38、继承的关键字是(    )。

A、implements                                                     B、extends

C、static                                                               D、this。

39、导入包使用(      )指令。

A、import                                                                  B、include

C、input                                                                    D、using

40、下列有关抽象类的说法正确的是(    )。

//解析:在编程语句中用 abstract 修饰的类是抽象类。抽象类是不完整的,它只能用作基类,不能生成对象。抽象类可以包含抽象方法、非抽象方法和抽象访问器。可以创建一个变量,其类型是一个抽象类,并让它指向具体子类的一个实例。不能有抽象构造函数或抽象静态方法。//抽象类且不是final类就一定能被继承 

A、抽象类中必须包含抽象方法                                  B、抽象类不能实例化

C、抽象类不一定被继承                                             D、用interface定义抽象类

41、下面程序的运行结果是(   )。

int a[][]={{1,2,3,},{4,5,6}}

System.out.printf(a[1][1])

A、3                                                                                 B、4

C、5                                                                                 D、6

42、定义字符串:String s1="hello";对下面程序描述正确的是()。
if(s1=="hello"){
System.out.println("s1 = \"hello\"");
}else{
System.out.println("s1 !=hello");
}

A、编译正确,运行错误

B、输出 s1="hello"

C、产生编译错误

D、输出 s1!=hello

43、执行完以下代码 int [ ] x = new int[10]; 后, 以下哪项说明是正确的( )。

//数组的默认值为0,如果[10]则默认从0~9.

A、x[9]未定义

B、x[9]为 0

C、x[10]为 0

D、x[0]为空

44、关于构造方法,说法错误的是:()

//解析:不能重写但是可以重载,因为构造方法不能被继承。如果在子类的构造方法中,没有使用关键字super调用父类的某个构造方法,那么默认有super();语句,即调用父类不带参数的构造方法。

A、构造方法不可以进行方法重写

B、构造方法用来实例化一个新的对象

C、构造方法具有和类名相同的名称

D、构造方法不返回任何数据类型

45、设有定义 int i=123; long j=456; 下面赋值不正确的语句是( )。

A、j=i;            //大转小

B、j=(long)i;

C、i=(int)j;

D、i=j;

46、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( )。

//A是静态方法,可以直接用如下形式调用 Test.method();
B是普通public函数,必须实例化类,Test test = new Test(); test.method();
C是final方法,不能被重载,用法同B
D是抽象方法,必须被子类继承并重写,然后调用的方式同B。

A、static void method( )

B、public void method( )

C、final void method( )

D、abstract void method( )

二、填空题

1、如果没有返回值,返回值类型是(void

什么是方法的重逢在?

同一个类中方法的名称 (相同),方法输入参数的(个数和类型)不同。

什么是方法的覆写?

父子)类中同名同参数的方法,叫做子类对父类方法的覆写。

2、Java中的继承为(单继承),若想实现多继承,可通过(接口)来实现。

3、一个“ .java ”源文件中是否可以包含有多个类?(可以有多个)。有(只能有一个public 的类,并且 public 的类必须与文件名一致)限制?

4、

代码的执行结果是

class Phone {

	public void sendMessage() {

		System.out.println("发短信");

	}

}



public class newPhone extends Phone {

	public void sendMessage() {

		System.out.println("发语音短信");

	}



	public static void main(String[] args) {

		Phone myphoneA = new Phone();

		myphoneA.sendMessage();		

		Phone myphoneB = new newPhone();

		myphoneB.sendMessage();

		Phone mynewphone =new newPhone();

		mynewphone.sendMessage();

	}

}

第一空:

发短信

发语音短信

发语音短信

5、以下代码的输出结果为?

public class Pass{
    static int j = 20;
    public void amethod(int x){
        x = x*2;
        j = j*2;
    }
    public static void main(String[] args){
        int i = 10;
        Pass p = new Pass(  );
        p.amethod( i);
        System.out.println( i );
    }
}

第一空:10

6、编程工具包:

(javax.swing)

(java.awt)

7、这是一个自定义的银行异常类。


public class AccountException (1)________ Exception{ //继承

(2)_____________(String msg){ //构造方法

(3)_______(msg); //使用父类的构造方法

}

}

第一空:

extends

第二空:

public AccountException

第三空:

super

8、如果方法没有返回值,返回值类型用(void)。

重载是(同一个)类中同名方法,参数的(个数、类型)不同。

覆写是(父子)类中同名同参数方法。

9、


import java.(     ).*;

public class Example02 {

 public static void main(String[] args) throws (      ) {

 FileOutputStream out = null;

 try {

 // 创建文件输出流对象,并指定输出文件名称,以字节(8bit)为单位,追加内容

 out = new (       )("out.txt", (     ));

 // 定义一个字符串

 String str = "hello";

 // 将字符串转换为字节数组进行写入操作

 out.write(str.(      )());

 } catch (Exception e) {

 e.printStackTrace();

 } (      ){

 try {

    if (out != null) (      ) // 关闭流

 } catch ((       ) e) {

 e.printStackTrace();

 }

 }

 }

}

第一空:io

第二空:IOException

第三空:FileOutputStream

第四空:true

第五空:getBytes

第六空:finally

第七空:out.close

第八空:IOException

10、

public class Pass{
    static int j = 20;
    public void amethod(int x){
        x = x*2;
        j = j*2;
    }
    public static void main(String[] args){
        int i = 10;
        Pass p = new Pass(  );
        p.amethod( i);
        System.out.println( i );
    }
}

第一空:10

三、判断题

1、用final修饰的方法可以被子类覆盖。(F)

2、类将变量与函数封装到一个类中。(T)

3、如果没有定义任何构造方法,系统会自动产生一个构造方法。(T)

4、new表示新建并初始化一个对象。(T)

5、子类对象可以被视为其父类的一个对象。(T)

6、Java编译器自动导入包java.lang.*。(T)

7、类是描述相同事物的集合,它描述的是我们所要描述的事物集合的非本质特征。(F)

8、package语句必须放到java程序的最开始。(T)

9、在实例方法或构造器中,this用来引用当前对象,通过使用this可引用当前对象的任何成员。(T)

10、在Java程序中,可以使用private来修饰一个类。(T)

11、一个类可以实现多个接口。(T)

12、一个接口可以继承其他接口。(T)

13、抽象方法必须在抽象类中,所以抽象类中的方法都必须是抽象方法。(T)

14、abstract类中定义的方法只能是abstract方法。(F)

15、构造方法可以调用本类中重载的构造方法和它的父类的构造方法。(T)

四、填空题

构造一个类来描述一个Student类,该类的构成包括学生的姓名和年龄, 以及一些对姓名和年龄的操作,包括取得姓名和年龄,利用另一个学生对当前的学生的姓名和年龄赋值,请将下面的程序填写完整。

class Student{
String name;
int age;
public ____ (String name, int age){
____ // 给name和age赋值
}
public Student getStu(){
Student  temp = new Student(“小张”,18);
temp.name = name;
temp.age = age;
}
return ____
}
public void setStu( ____ ){
this.name = s.name
this.age = s.age;
}
public class Eg1{
public static void man(String [] args){
____    // 创建Student对象a,初值为(“张三”,20)
Student b = new Student(“小王”,19);
b = a.getPoint();
Student c = new Student(“小王”,19);
c.setStu(b);
}

第一空: 

(1)Student

第二空: 

(2)this.name = name; this.age = age;

第三空: 

(3)temp

第四空: 

(4)Student s

第五空: 

(5)Student a = new Student(张三,20);

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值