java笔试错题记录——2020-10-13
程序员文章站
2024-03-22 18:12:40
...
- 在Java中下面Class的声明哪些是错误的?
正确答案: A B C 你的答案: A B (错误)
public abstract final class Test {
abstract void method();
}
public abstract class Test {
abstract final void method();
}
public abstract class Test {
abstract void method() {
}
}
public class Test {
final void method() {
}
}
解析:
A、final修饰的类为终态类,不能被继承,而 抽象类是必须被继承的才有其意义的,因此,final是不能用来修饰抽象类的。
B、 final修饰的方法为终态方法,不能被重写。而继承抽象类,必须重写其方法。
C、抽象方法是仅声明,并不做实现的方法。
- 有关静态初始化块说法正确的是?
# 正确答案: A B C 你的答案: A C (错误)
```
无法直接调用静态初始化块
在创建第一个实例前或引用任何静态成员之前,将自动调用静态初始化块来初始化
静态初始化块既没有访问修饰符,也没有参数
在程序中,用户可以控制合适执行静态初始化块
```
解析:
java对象初始化顺序
先说结论:
- 父类静态代码块,父类静态成员变量(同级,按代码顺序执行)
- 子类静态代码块,子类静态成员变量(同级,按代码顺序执行)
- 父类普通代码块,父类普通成员变量(同级,按代码顺序执行)
- 父类构造方法
- 子类普通代码块,子类普通成员变量(同级,按代码顺序执行)
- 子类构造方法
注意点:
- 静态内容只在类加载时执行一次,之后不再执行。
- 默认调用父类的无参构造方法,可以在子类构造方法中利用super指定调用父类的哪个构造方法。
上一篇: java 去空格
下一篇: C++函数库大全 博客分类: C++