Q7
7. C 按B修改有参构造报错,无法再给value赋值
public class Test07 {
public static void main(String[] args) {
MyClass mc = new MyClass(10);
System.out.println(mc.value);
}
}
class MyClass{
final int value;
public MyClass() {
value = 10;
}
public MyClass(int value) {
this.value = value;
}
}
- A
- C mv是引用数据类型常量,地址不可变
- 编译通过
public class Test10 {
public static void main(String[] args) {
Sub s = new Sub();
s.m1();
s.m1(10);
s.m1(1.5);
}
}
class Super{
public final void m1() {
System.out.println("m1() in Super");
}
public void m1(int i) {
System.out.println("m1(int) in Super");
}
}
class Sub extends Super{
public void m1(int i) {
System.out.println("m1(int) in Sub");
}
public void m1(double d) {
System.out.println("m1(double) in Sub");
}
}
运行结果:
13. DF
A abstract与final冲突
B void与final位置反了
C static与abstract冲突
Eprivate与abstract冲突
Q8
1.
interface IA{
void m1();
int a = 100;
}
class MyClass implements IA{
public void m1() {}
}
public class Test01 {
public static void main(String[] args) {
IA ia = new MyClass();
ia.m1();
System.out.println(IA.a);
}
}
interface IA{
void m1();
void m2();
}
abstract class MyClassA implements IA{
public void m1() {}
}
class MyClassB extends MyClassA{
public void m2() {}
}