2023年11月15号期中测验判断题(Java)

 1-1

局部变量可以与成员变量重名。

正确答案:T

解释:

局部变量可以和成员变量重名,通常,为了区分局部变量和成员变量,会使用this关键字(C++称this指针,python是self关键字)来特别声明该变量是某对象的成员变量。


1-2

实例变量是属于对象的。一个类的多个对象对实例变量可以设置不同的值。

正确答案:T

解释:当然正确,实例变量是属于对象的,每个对象都有其自己的实例变量副本。这意味着,一个类的多个对象可以对实例变量设置不同的值。比如一个Student类可以实例化一个stu1和一个stu2对象,这两个对象可以设置不同的值。


1-3

用static修饰的变量是类变量。

正确答案:T

解释:用static修饰的变量是类变量(又称类的静态成员),意味着这个变量是属于整个类的,而不是属于某个类的实例对象的。也就是说,无论创建了多少个类的实例对象,这个变量在内存中只有一份,被所有实例对象共享。可以通过类名直接访问这个变量,而不需要先创建实例对象。


1-4

如果一个成员变量被修饰为final的,就是常量,常量必须赋给初值,而且不能再发生变化。

正确答案:T

解释:是的,成员变量被final修饰,意味该变量不被允许更改,被视作常量,且必须赋予初值。

看示例代码:

2023年11月15号期中测验判断题(Java)_第1张图片

2023年11月15号期中测验判断题(Java)_第2张图片


1-5

如果在子类的构造方法中,没有使用关键字super调用父类的某个构造方法,那么默认有super();语句,即调用父类的不带参数的构造方法。

正确答案:T

解释:是的,在子类的构造方法中如果不主动写super关键字,一定会隐含一个super()调用父类的无参构造方法。

看示例代码:

2023年11月15号期中测验判断题(Java)_第3张图片


1-6

一个Java类可以有多个父类。

正确答案:F

解释:错误的,Java类只允许单继承,任何一个子类只能有一个父类,但父类可有多个子类继承;

但是接口可以继承多个接口,并且接口只允许继承接口而不允许继承类


1-7

package语句必须放到java程序的最开始。

正确答案:T

解释:是的,package语句必须放到java程序的最开始,

另外,import语句用于导入其他包中的类,它可以放在package语句之后,class语句之前。


1-8

一个类的非静态方法可以访问静态成员变量。

正确答案:T

解释:是的,类的非静态方法可以访问静态成员变量,

相反的,类的静态方法只允许访问静态成员!


1-9

一个类的静态方法不可以访问该类的非静态成员变量。

正确答案:T

解释:是的,类的静态方法只可以访问静态成员变量,

相反的,类的非静态方法允许访问静态成员。

1-8和1-9看示例代码:

2023年11月15号期中测验判断题(Java)_第4张图片

2023年11月15号期中测验判断题(Java)_第5张图片 


1-10

Java中类和方法都不允许嵌套定义。

正确答案:F

解释:错误,类是可以嵌套定义的,详细见Java内部类知识点->传送门

Java中的方法嵌套则是不允许的,可见本篇详解->传送门


1-11

构造函数名应与类名相同,返回类型为void。

正确答案:F

解释:错误,构造函数名应与类名相同,前半句十分正确,但构造函数不需要返回值也没有任何返回类型,而void是空类型。

看代码示例:

2023年11月15号期中测验判断题(Java)_第6张图片


1-12

类也是一种数据类型(type)。

正确答案:T

解释:正确,类的实质是一种引用数据类型,可以用类去实例化一个对象。


1-13

对象是类的实例(instance)。 

正确答案:T

解释:正确,太简单,不解释。


1-14

在异常处理中,若try中的代码可能产生多种异常则可以对应多个catch语句,若catch中的参数类型有父类子类关系,此时应该将父类放在前面,子类放在后面。

正确答案:F

解释:错误,try中的代码可能产生多种异常则可以对应多个catch语句正确,但后半句,若catch中的参数类型有父类子类关系,此时应该将子类放在前面,父类放在后面(可巧记为父亲永远是孩子坚实的后盾???)。

看示例代码:其中,ArithmeticException(算术异常)是Exception(异常)的子类

catch(ArithmeticException ae) 和 catch(Exception e) 的位置调换,则程序报错,因为Exception e 是 ArithmeticException ae 的父类。若子父类在子类的前面,抛出的异常已经被父类处理了,后面的子类就不能接收到异常。

2023年11月15号期中测验判断题(Java)_第7张图片2023年11月15号期中测验判断题(Java)_第8张图片


1-15

在异常处理中,有try语句就必须出现catch语句。

正确答案:F

解释:错误,try语句后面不是非要跟catch,也可以跟finally,也可以两个都跟,但catch或finally至少要跟一个!

2023年11月15号期中测验判断题(Java)_第9张图片


1-16

Java语言中的所有异常类都是java.lang.Throwable的子类。

正确答案:T

解释:硬记吧,不解释。


1-17

声明异常的关键字是throws,抛出异常的关键字是throw。

正确答案:T

解释:不好解释,但有巧记,声明的“声”拼音的sheng,开头是's'所以对应throws,另一个抛出就是throw了,而throw用于自定义异常类。

有关异常类的知识点详见本篇->传送门

看示例:

2023年11月15号期中测验判断题(Java)_第10张图片


1-18

定义类的方法时,形式参数是基本数据类型,为值传递;形式参数是一个引用数据类型,为地址传递。

正确答案:T

解释:很正确的基本概念,不好解释。

这里的引用数据类型的形式参数,可以理解为C语言的指针变量,都是地址传递。


1-19

Java中,测试类(主类)中可以有多个main方法。

正确答案:T

解释:很坑的一道题,以C或C++为母语的童鞋一定会先入为主的认为“main函数只能有一个”,但Java的一个类里面就是可以存在多个main方法!

看示例代码:3个main一点不影响,但程序运行起来一定是只执行参数为String[] args的那个main

2023年11月15号期中测验判断题(Java)_第11张图片


1-20

final类不能派生子类,final方法不能被覆盖。

正确答案:T

解释:正确,final修饰的类,一定是最终类,其中不允许存在抽象方法,不允许被继承,其中的方法都是最终方法,不允许被重写。

final关键字详解见本篇标题七->传送门

你可能感兴趣的:(Java基础学习,java)