//蓝色题目解释,金色重点紫色知识补充
一.选择题
1
、下列哪个是
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[])
考察前三章语法知识
2、哪个叙述是错误的
?
A.int [] a,b[];是声明了 1 个 int 型一维数组 a 和 1 个 int 型二维数组 b。
B.float a[20];是正确的数组声明。
C.boolean yes = false;
是正确的
boolean
变量声明。
D.1e2
和
2.05E2
都是
double
型常量
变量知识
A. int [] a, b[]; 这样的声明实际上是在 Java 语言中声明了
一个 int 型的一维数组 a 和一个 int 型的一维数组的引用 b。
B. float a[20]; 在 C/C++ 语言中是正确的数组声明方式,但在 Java 中,这不是正确的语法。在 Java ,float[] a = new float[20]; 或者直接初始化 {1.0f, 2.0f, ...}。
C. boolean yes = false; 是正确的 boolean 变量声明。
D. 1e2 和 2.05E2 确实都是 double 类型的常量。在许多编程语言中,科学计数法表示的数值默认为 double 类型,除非明确指定了其他类型(例如,在 Java 中可以通过在数字后加上 'f' 或 'F' 来指定为 float 类型)。
B. float a[20]; 在 C/C++ 语言中是正确的数组声明方式,但在 Java 中,这不是正确的语法。在 Java ,float[] a = new float[20]; 或者直接初始化 {1.0f, 2.0f, ...}。
C. boolean yes = false; 是正确的 boolean 变量声明。
D. 1e2 和 2.05E2 确实都是 double 类型的常量。在许多编程语言中,科学计数法表示的数值默认为 double 类型,除非明确指定了其他类型(例如,在 Java 中可以通过在数字后加上 'f' 或 'F' 来指定为 float 类型)。
3.对于下列
Dog
类,哪个叙述是错误的?
class Dog {
Dog(int m) {
};
Dog(double m) {
};
int Dog(int m) {
return 23;
};
void Dog(double m) {
};
}
A.Dog(int m)
与
Dog(double m)
是互为重载的构造方法
B.int Dog(int m)
与
void Dog(double m)
是互为重载的非构造方法
C.Dog
类只有两个构造方法,而且没有无参数的构造方法
D.Dog 类有三个构造方法
-
Dog(int m)
和Dog(double m)
是两个构造方法,它们确实互为重载(overloaded),因为它们具有相同的名称但参数列表不同。因此,选项 A 是正确的。 -
int Dog(int m)
由于其返回类型为int
,它并不是构造方法,而是一个普通的方法。同理,void Dog(double m)
也不是构造方法,因为它也有返回类型void
。这两个方法确实是互为重载的非构造方法,因此选项 B 是正确的。 -
Dog
类中确实只有两个构造方法,并且没有无参数的构造方法,所以选项 C 也是正确的。 -
选项 D 表述
Dog
类有三个构造方法,这是错误的。实际上,Dog
类只有两个构造方法,另外两个带有返回类型的Dog
方法不是构造方法,而是普通的实例方法。因此,D 是错误的叙述。
方法
构造方法 (Constructor)
- 目的:构造方法用于创建对象时初始化对象的状态。
- 命名规则:构造方法的名字必须与类名相同。
- 返回类型:构造方法没有返回类型,甚至不能是
void
。这是因为构造方法的目的是创建并初始化对象,而不是返回一个值。
普通方法 (Non-Constructor / Method)
- 目的:普通方法用于执行特定的操作或计算,并可以有返回值。
- 命名规则:普通方法的名字可以是任意合法的标识符,但不能与类名相同(如果相同则被视为构造方法)。
- 返回类型:普通方法可以有返回类型(例如
int
,String
,void
等),其中void
表示该方法不返回任何值。
重载 (Overloading)
重载是指在一个类中定义多个同名的方法或构造方法,但它们的参数列表(包括参数的数量、类型或顺序)必须有所不同。Java 使用方法或构造方法的签名(即名称和参数列表)来区分这些重载的方法或构