牛客网 Java专项练习(3)
1 下列关于Java类中方法的定义,正确的是()
a 若代码执行到return语句,则将当前值返回,而且继续执行return语句后面的语句。
b 只需要对使用基本数据类型定义的属性使用getter和setter,体现类的封装性。
c 方法的返回值只能是基本数据类型。
d 在同一个类中定义的方法,允许方法名称相同而形参列表不同。
答案 d
A 一旦执行到return,就不再执行后续的代码
C、Java的返回值类型有:void(没有返回值)、基本数据类型(byte、short、int、long、float、double、char、boolean)、引用数据类型(类、接口、数组)
D、重载 方法名一致 形参列表不同(形参的个数或者参数对应的类型不一致)
2
public static void main(String[] args) {
Thread t = new Thread() {
public void run() {
my360DW();
}
};
t.run();
System.out.print("DW");
}
static void my360DW() {
System.out.print("360");
}
a DW
b 360
c 360DW
d 都不输出
答案 c
输出“360DW”,本题意在考察开启线程的方法t.start()和直接调用t.run()的区别。但在题目中没有提现 注:直接调用线程的run()方法不是开启线程,就是普通调用,会直接执行run()方法中的内容
3 尝试编译以下程序会产生怎么样的结果?()
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)
}
}
a 编译错误将发生在(1),因为构造函数不能指定返回值
b 编译错误将发生在(2),因为该类没有默认构造函数
c 编译错误将在(3)处发生,因为该类没有构造函数,该构造函数接受一个int类型的参数
d 该程序将正确编译和执行
答案 c
构造方法就是:public
类名, 没有方法修饰符
所以 (1
) 处就是一个普通方法
所以该类没有带参数构造方法 ,编译报错
a 构造函数没有返回值
b 如果一个类没有显示的构造函数 java虚拟机就为其加一个无参的构造函数
c 该类没有带参的构造函数
这篇感觉比较水 溜了溜了