Java选择题练习:构造函数
1.尝试编译以下程序会产生怎么样的结果?()
public class MyClass {
long var;
public void MyClass(long param) { var = param; }//(1)
public static void main(String[] args) {
MyClass a, b;
a =new MyClass();//(2)
b =new MyClass(5);//(3)
}
}
- 正确答案: C
A、编译错误将发生在(1),因为构造函数不能指定返回值
B、编译错误将发生在(2),因为该类没有默认构造函数
C、编译错误将在(3)处发生,因为该类没有构造函数,该构造函数接受一个int类型的参数
D、该程序将正确编译和执行
构造方法就是:public 类名, 没有方法修饰符,所以 (1)处就是一个普通方法 ,所以该类没有带参数构造方法 ,编译报错。