1.代码差错,判断代码对错,并指出错误处
abstract class Name{
private String name;
public abstract Boolean isStupidName(String name){}
}
答案:isStupidName必须以分号结尾,且不带花括号。
Public class Something{
Void doSomething(){
Private String s=””;
Int l = s.length();
}
}
答案:错误。局部变量前不能放置任何访问修饰符 (private,public,和protected)。final可以用来修饰局部变量
Abstract class Something{
Private abstract String doSomething();
}
答案:错误。abstract的方法不能以private修饰。Abstract的方法就是让子类implement(实现)具体细节的,不能用private把abstract 方法封锁起来。 (同理,abstract method前不能加final)。
Public class Something{
Public int addOne(final int x){
Return ++x;
}
}
答案:错误。int x被修饰成final,意味着x不能在addOne方法中被修改。
Public class Something{
Public static void main(Stirng[] args){
Other o = new Other();
New Something().addOne(o);
}
Public void addOne(final Other o){
o.i++;
}
}
答案:正确。
在addOne method中,参数o被修饰成final。如果在addOne 方法里我们修改了o的reference
(比如: o = new Other();),但这里修改的是o的member vairable(成员变量),而o的reference并没有改变。
2.String是基本数据类型(F);
3.数组获取长度使用length()方法 (F)
解析:数组是用length属性,String字符串长度是用length()方法。
4.List,Set,Map是继承自Collection接口(F)
解析:List和Set是继承自Collection接口的接口,Set不允许重复的项目,List允许重复项目,Set接口派生的类有TreeSet,HashSet,LinkedHashSet。List接口派生的类有ArrayList,Vector等。Map是独立的接口,不继承Collection接口
5.java字符类型采用的是Unicode编码,但所占字节由具体软硬件环境决定(F)
解析:Unicode编码占2个字节,是固有状态
6.java语言中的数组元素下标总是从0开始,下标可以是整数或整形表达式(T)
7.如果p是父类Parent的对象,而c是子类Child的对象,则语句p=c是正确的(F)
解析:子类可以赋值给父类;
8.java程序里,创建的类对象用关键字new,回收无用的类对象使用关键字free(F)
解析:java中有垃圾回收机制,对于无用的类对象不需要程序员手动清除。
9.由继承性可知,程序中子类拥有的成员数目一定大于等于父类拥有的成员数目(F)
解析:父类私有的成员子类无法继承,子类也可以不定义自己的私有属性
10.静态初始化器是在其所属的类加载内存时由系统自动调用执行。(T)
11.注释的作用是使程序在执行时在屏幕上显示//之后的内容(F)
解析://后的内容不显示
12.一个线程对象的具体操作是由run()方法的内容确定的,但是Thread类的run()方法时空的,其中没有内容,所以用户程序要么派生一个Thread的子类并在子类里重新定义run()方法,要么使一个类实现Runnable接口并书写其中run()方法的方法体(T)
13.对于java中String的实例对象,一旦创建就不能修改它内部所包含的字符序列(T)
解析:实例对象本身不可修改,但是引用可以修改
14.对于java中String的实例对象,一旦创建就不能修改它内部所包含的字符序列(T)
15.子类要调用父类的方法,必须使用super关键字 (F)
解析:如果这个方法在子类中被覆盖后,需要用super调用父类的方法,否则就是调用从父类继承过来的方法。