Makasa
打卡刷题Day09
1.下列关于继承的描述正确的是(C)
A. 在Java中允许定义一个子类的引用,指向父类的对象。
B. 在Java中一个子类可以继承多个抽象类,在extends关键字后依次列出,用逗号隔开。
C. 在Java中继承是通过extends关键字来描述的,而且只允许继承自一个直接父类。
D. 在Java中抽象类之间不允许出现继承关系,所有的抽象类都相互独立。
解析:
A、说反了。父类引用指向子类对象
B、类都是单继承。
D、抽象类也可以继承。
2. java是类C语言,从C++改进而来
去掉了指针和多继承,采用自动垃圾回收等
3. 当类加载时,static静态方法随着类加载而初始化,此时实例对象还未被创建,但是非静态成员变量需要等到实例对象创建才会被初始化,故无法被引用。非静态成员只能被类的实例化对象引用
4. 设有下面两个赋值语句:
a = Integer.parseInt("1024");
b = Integer.valueOf("1024").intValue();
下述说法正确的是(D)
A. a是整数类型变量,b是整数类对象。
B. a是整数类对象,b是整数类型变量。
C. a和b都是整数类对象并且它们的值相等。
D. a和b都是整数类型变量并且它们的值相等。
解析:
intValue()是把Integer对象类型变成int的基础数据类型;
parseInt()是把String 变成int的基础数据类型;
Valueof()是把String 转化成Integer对象类型;(现在JDK版本支持自动装箱拆箱了。)
本题:parseInt得到的是基础数据类型int,valueof得到的是装箱数据类型Integer,然后再通过valueInt转换成int,所以选择D
5.
Integer i = 42;
Long l = 42l;
Double d = 42.0;
下面为true的是(G)
A. (i == l)
B. (i == d)
C. (l == d)
D. i.equals(d)
E. d.equals(l)
F. i.equals(l)
G. l.equals(42L)
解析:
同类型的进行比较,如Integer 与int,Long与long进行==比较时,会自动拆箱;不同类型之间进行比较,如果有一方为非包装类,则会自动拆箱。如果两方都为包装类,则不会拆箱,且不能比较,编译会报错
6. 以下代码执行的结果显示是多少(B)?
A. 505000
B. 0
C. 运行时错误
D. 5050
解析:
count = count++ 原理是 temp = count; count = count+1 ; count = temp; 因此count始终是0 这仅限于java 与c是不一样的
7. 给出下面的代码段
public class Base{
int w, x, y ,z;
public Base(int a,int b)
{
x=a; y=b;
}
public Base(int a, int b, int c, int d)
{
// assignment x=a, y=b
w=d;z=c;
}}
在代