1. 下面哪一种描述是正确的()?
A:abstract修饰符可修饰字段、方法和类。
B:抽象方法的body部分必须用一对大括号{}包住。
C:声明抽象方法,大括号可有可无。
D:声明抽象方法不可以写出大括号。
正确答案:D
A:abstract只能修饰方法和类,变成抽象方法和抽象类,不能修饰字段。
B:既然是抽象方法,也就是没有具体的实现方法,所以根本没有body部分。
C:不能有大括号,有大括号就相当于有了具体的实现方法,有了实现方法就不能说是抽象类了。
D:抽象方法不能写出大括号。
2. 下列语句正确的是()?
A:形式参数可被视为local variable(局部变量)。
B:形式参数可被字段修饰符修饰。
C:形式参数为方法调用时,真正被传递的参数。
D:形式参数不可以是对象。
正确答案:A
A:形式参数和局部变量一样,生命周期随着方法的结束而终结,离不开方法。在Java中形式参数都是值传递的,所以可以视为一个局部变量。
B:Java中字段修饰符有:public、protected、default、private、final、static。在形式参数中,如果要使用字段修饰符,只能使用final修饰符。其他任何修饰符都能引起编译器错误。
C:java中方法没有引用调用,调用的形参都是拷贝的。
D:形式参数可以是值或者对象。
3. 下列说法正确的是()?
A:实例方法可直接调用超类的实例方法。
B:实例方法可直接调用超类的类方法。
C:实例方法可直接调用其他类的实例方法。
D:实例方法可直接调用本类的类方法。
正确答案:D
A:如果超类的实例方法被private修饰,那么子类无法调用其实例方法。
B:道理同A。如果超类的类方法被private修饰,那么子类则无法调用其类方法。
C:如果其他类的实例方法修饰符为private,则无法调用。
D:正确。
4. 下面代码运行的结果是()?
public class Test{
public void method(){
for(int i=0;i<3;i++){
System.out.println(i);
}
System.out.println(i);
}
}
A:0122
B:0123
C:编译错误
D:没有任何输出
正确答案:C
因为在循环中定义的是局部的i,在跳出循环后变量i的生命周期已经结束了,所以访问不了i,编译器报错。
5. setTimeout("buy()",2000)表示的意思是()?
A:间隔2000秒后,buy()函数被调用一次。
B:buy()函数被持续调用2000次。
C:间隔2秒后,buy()函数被调用一次。
D:间隔2分钟后,buy()函数被调用一次。
正确答案:C
setTimeout( ) 是属于 window 的 method, 但我们都是略去 window 这顶层物件名称, 这是用来设定一个时间, 时间到了, 就会执行一个指定的 method。其具体的函数为:setTimeout(code , millisec),其中参数code是要被调用的方法,而millisec的单位是毫秒,是间隔多久后进行调用这个方法。
6. 以下不是javascript的全局函数的有()?
A:escape
B:parentFloat
C:setTimeout
D:eval
正确答案:C
setTimeout是属于window的method方法,而不属于javascript的全局函数。
7. 给定如下所示的JAVA代码,则运行时,会产生()类型的的异常?
String s = null;
s.concat("abc");
A:ArithmeticException
B:NullPointerException
C:IOException
D:ClassNotFoundException
正确答案:B
s是null,没有指向任何对象的引用,所有在要用到它的时候,会抛出一个没有引用指针的异常。public String concat(String str)将指定字符串连接到此字符串的结尾。如果参数字符串的长度为 0,则返回此 String 对象。否则,创建一个新的String 对象,用来表示由此 String对象表示的字符序列和参数字符串表示的字符序列连接而成的字符序列。
8. 下列代码输出的是什么?
public class Product {
private int id;
private String name;
public Product(int id, String name) {
super();
this.id = id;
this.name = name;
}
}
public class Test {
public static void main(String[] args) {
System.out.println("产品是:"+new Product(1,"阳光直投"));
}
}
A:产品是:new Product
B:产品是:Product[id=1,name=阳光直投]
C:产品是:产品是:Product[id=1,name="阳光直投"]
D:以上都不正确
正确答案:D
默认会调用toString方法,因为没有Product类没有重写自己的方法,所以正确的答案应该是输出=====产品是:Product全类型@内存地址