对于父类的()构造方法,子类可以通过在自己的构造方法中使用super关键字来调用它,但这个调用语句必须是子类构造方法的第一条可执行语句。
第4题
第5题
A、如果子类没有定义构造方法,则子类无构造方法
B、子类构造方法必须通过super关键字调用父类的构造方法,无需放在构造方法的第一行
C、子类必须通过this关键字调用父类的构造方法
D、子类无法继承父类的构造方法
第6题
假设学生的属性包括学号(int类型)、姓名(String类型)、数学成绩(double类型)和计算机成绩(double类型),要求: (1)声明学生类Student,其中包括上述要求的成员变量和构造方法,还要有一个void print()方法,功能是输出成员变量(4个成员变量)的信息。 (2)声明学生类Student的子类,也就是研究生类PostGraduate,其中,研究生类继承了父类的学号、姓名、数学成绩和计算机成绩,此外,研究生类还有自己的两个新属性导师姓名(String类型)和研究方向(String类型)。还有,研究生类要重写父类的void print()方法,功能是输出成员变量(6个成员变量)的信息。(想一想研究生的构造方法怎么写,提示,从父类继承的成员变量可以在子类的构造方法中使用super关键字。) (3)声明主类,在主方法main中,创建一个Student类的对象,从键盘上输入其属性信息,并且通过其print方法输出这些信息;创建一个PostGraduate类的对象,从键盘上输入其属性信息,并且通过其print方法输出这些信息。 以上要求的内容可以放在同一个源程序中,也可以放在不同的源程序中(放在不同的源程序的情况需要注意包的声明和引用)。 同学们做这次作业的时候,在声明类的时候,需要按照以下说明的规则来做: (1)在声明类的时候,如果类中有成员变量,一般不建议创建了类对象之后,通过运算符“.”去调用成员变量,最好是通过函数间接地使用成员变量。(当然,咱们的讲课视频中为了举例简单,还是用了运算符“.”去调用成员变量。) (2)所以,对于每一个成员变量,最好都为其设置两个方法,一个是set方法,功能是通过这个方法修改成员变量的值,另一个是get方法,功能是通过这个方法获取成员变量的值。 (3)例如,以下有类A的声明,它有两个int类型的成员变量x和y,则类A的声明如下,注意观察,对于每一个成员变量的set和get方法,以及它们的参数类型和方法的返回类型,还有print方法中,输出成员变量的值时,也是通过函数获取值: class A { int x,y; A(int x,int y) { this.x=x; this.y=y; } void setX(int a) { x=a; } int getX() { return x; } void setY(int b) { y=b; } int getY() { return y; } void print() { System.out.println("x的值为"+this.getX()+"y的值为"+this.getY()); } }
第7题
A、在子类构造方法中使用super()显示调用父类的构造方法,super()必须写在子类构造方法的第一行,否则编译不通过
B、super()和this()不一定要放在构造方法内第一行
C、this()和super()可以同时出现在一个构造函数中
D、this()和super()可以在static环境中使用,包括static方法和static语句块
为了保护您的账号安全,请在“上学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!