下面叙述错误的是 ( )
public class Student { //无参构造方法(构造函数) public Student() { } //有一个参构造方法(构造函数) public Student(String name) { } //有两个参构造方法(构造函数) public Student(String name, int age) { } //有三个参构造方法(构造函数) public Student(String name, int age, String address) { } }2)B 选项,最终类不能派生子类,最终方法不能被覆盖,是正确的;
public final class Student { //无参构造方法(构造函数) public Student() { } //有一个参构造方法(构造函数) public Student(String name) { } //有两个参构造方法(构造函数) public Student(String name, int age) { } //有三个参构造方法(构造函数) public Student(String name, int age, String address) { } }定义一个子类 StudentZi 类,尝试继承 Student 类
选C
A、对。可以使用重载的形式(参数列表中,类型不同或顺序不同或个数不同),来使一个类拥有多个构造器。
B、对。final修饰的类为最终类,不可被继承;修饰方法为最终方法,不可被子类重写;修饰属性为常量,一旦初始化不可再更改。
C、错。一个类中没有定义构造器,那么会默认定义了一个调用了父类空参构造器的空参构造器。
D、数组在分配内存空间时,是直接开辟了一整块连续的内存空间供其使用,使其能够在内存层面实现他在逻辑层面的连续性。而这块内存空间分配出去之后,其后边的空间可能会被其他数据用来存储,如果要进行容量扩充,那无疑会影响到后边的数据存储。
本题选C
A.一个类可以有多个构造方法,实际上就是方法的重载,正确
B.用final修饰的类不能被继承,方法不能被覆盖,正确
C.如果没有构造方法,编译器会自动添加一个空参构造方法,错误
D.由源码可知,数组内部采用字符数组存储,该字符数组用final修饰,长度一旦确定不可再变,正确
(答题不易,望采纳)