第一次月考错题及分析
9.(单选题)关于下列代码说法正确的是:
class ClassA {
public int numberOfinstances;
protected ClassA(int numberOfinstances) {
this.numberOfinstances = numberOfinstances;
}
}
public class ExtendedA extends ClassA {
private ExtendedA(int numberOfinstances) {
super(numberOfinstances);
}
public static void main(String[] args) {
ExtendedA ext = new ExtendedA(420);
System.out.print(ext.numberOfinstances);
}
}
A.运行后,输出420
B.运行时抛出异常
C.编译错误,所有的构造器必须是public的
D.编译错误,构造器不能是private的
正确答案:A
解析:
main方法在类ExtendedA里面,因此可以访问ExtendedA类的任何成员变量及方法。如果把此main方法放在另一个类中,则报错。
在类中如果声明了私有化的构造方法,那么主方法中若取得并且实例化对象可以用以下方法:
·在类中进行对私有化的构造方法的实例化。
·用static的get方法对实例化的对象进行取值。
·在主方法中取得实例化对象用get方法。
22.(单选题)请看下列代码,出现错误的行是:()
public interface Cookie {
Cookie cookie = new Cart("小面包", "盼盼");
}
class Cart implements Cookie {
private String name;
private String production;
public Cart(String name, String production) {
this.name = name;
this.production = production;
}
public void smell() {
cookie = new Cart("蛋黄派", "达利园");
}
}
A.第2行
B.第4行
C.第11行
D.第12行
正确答案:D
解析:
第2行的代码相当于定义了一个public static final Cookie类型的变量cookie,因此在12行cookie = new Cart("蛋黄派", "达利园");时报错,不能改变final修饰的变量。
public class HasStatic {
private static int x = 100;
public static void main(String args[]) {
HasStatic hs1 = new HasStatic();
hs1.x++;
HasStatic hs2 = new HasStatic();
hs2.x++;
hs1 = new HasStatic();
hs1.x++;
HasStatic.x--;
System.out.println("x=" + x);
}
}
对于此代码,下列描述中,正确的是()。
A.5行不能通过编译,因为引用了私有静态变量
B.10行不能通过编译,因为x是私有静态变量
C.程序通过编译,输出结果为:x=103
D.程序通过编译,输出结果为:x=102
正确答案:D
解析:main方法在类的内部,故可以访问类的私有成员变量。如果放在别的类中,则不行。
41.(多选题)下面的方法属于StringBuffer的是:()。
A.size
B.insert
C.delete
D.length
正确答案:BCD
解析:记住即可
44.(多选题)在Java语言中,下列说法正确的是:()。
A.StringBuffer和StringBuilder的区别在于:StringBuffer是线程安全的而StringBuilder不是。
B.String是不可变对象,而StringBuffer中封装的字符串数据是可以动态改变的。
C.判断两个StringBuilder对象的字符序列是否相同,可以调用其equlas方法进行比较。
D.String的重写了equals方法,重写的逻辑是:字符序列相同的String对象equals方法返回true。
正确答案:ABD
解析:错误答案ABCD,StringBuilder中没有重写equals方法,故想比较字符序列是否相同需转成String类型(.toString即可)再进行比较。
48.(多选题)下列关于HashMap的描述正确的是:
A.HashMap的Key和Value是以链表的方式存入对应的bucket
B.HashMap的查找方式是获取Key的hashCode值,通过hash算法确定存储的bucket,调用equals方法依次 与bucket中的Key进行比较
C.放入HashMap集合中的元素按照key的自然顺序排序
D.HashMap中的key是不可以的重复的
正确答案:ABD
解析:暂未搞懂
总结分析:平时练习的太少,导致很多细节问题不是很清晰,然后就做错了很多题,很多题考查的还是比较全面的,通过这次测试,让我发现了自己很多不足,自己需要改进的地方还很多,以后 的学习中要更加的踏实与努力!!!