Java选择题部分知识点解析
## 第一题:
不允许使用final来修饰abstract方法。 √
解析:
抽象类中的抽象方法不能是final,但是非抽象方法前加final可以编译通过。
因为abstract和final相互排斥,前者(abstract)专用于继承,后者(final)禁止继承。
抽象类中的抽象方法不能为static,而非抽象方法可以为static。
## 第二题:
An abstract class can have instances created using the constructor of
the abstract class. (抽象类可以使用抽象类的构造函数创建实例。) ×
解析:
抽象类不可以实例化
## 第三题:
Constructors are called before static variables are initialized.
(在静态变量初始化之前调用构造函数。) ×
解析:
应该先初始化静态变量,然后再调用构造函数
## 第四题:
抽象方法必须在抽象类中,所以抽象类中的方法都必须是抽象方法 ×
解析:
抽象方法dao通常存在于抽象类或接口中
## 第五题:
Java中类和方法都不允许嵌套定义 √
解析:
1、方法不能嵌套,但是可以互相调用
2、类可以嵌套,可以有内部类和匿名内部类
第六题:
类在实现接口的方法时,必须显式地使用public修饰符 √
解析:
第一点说明
首先,接口中所有方法默认都是public,至于为什么要是public,原因在于如果不是public,那么只能在同个包下被实现,可访问权限就降低很多了,那么在实现类中,实现的类相当于子类,子类的访问权限是不能比父类小的,而在java中一个类如果没有权限的修饰符,默认是friendly(同一个包内的其它类才可访问),所以在实现类中一定要写public。
第二点说明
接口的方法默认的就是public abstract,所以可以不写
第三点说明
抽象方法abstract的作用
举例:父类定义了一个排序方法,而具体的实现由子类来实现,可以是冒泡排序,也可以是希尔排序等等,父类的排序方法没有必要写出具体实现,只要声明一下就行
第七题:
在Java程序中,可以使用protected来修饰一个类 √
解析:
可以,但是只能修饰内部类,就是类中定义的类。
补充:
访问控制符是:公共类修饰符 public
非访问控制符有:抽象类修饰符 abstract ;最终类修饰符 final
1 )公共类修饰符 public : Java 语言中类的可访问控制符只有一个: public 即公共的。每个 Java 程序的主类都必须是 public 类作为公共工具供其它类和程序使用的应定义为 public 类。
2 )抽象类修饰符 abstract :凡是用 abstract 修饰符修饰的类,被称为抽象类。所谓抽象类是指这种类没有具体对象的一种概念类。这样的类就是 Java 语言的 abstract 类。
3 ) 最终类修饰符 final :当一个类不可能有子类时可用修饰符 final 把它说明为最终类。被定义为 final 的类通常是一些有固定作用、用来完成某种标准功能的类。
第八题:
下面( )不是创建数组的正确语句。(B)
A. float f[ ][ ] = new float[6][6];
B. float f[ ][ ] = new float[ ][6];
C. float[ ][ ] f = new float[6][ ];
D. float f[ ] = new float[6];
解析:
第一个[]内不能为空
第九题:
若有定义:int x=3,y=2;float a=2.5,b=3.5;则下面表达式的值为(B)。
(x+y)%2+(int)a/(int)b。
A. 1.5 B. 1
C. 1.0 D. 2
解析:
(x+y)%2+(int)a/(int)b
等于:(2+3)%2+2/3
等于:5%2+2/3
等于:1+2/3
等于:1+0
等于:1