接口与继承的课上作业

动手动脑:运行 TestInherits.java 示例,观察输出,注意总结父类与子类之间构造方法的调用关系修改Parent构造方法的代码,显式调用GrandParent的另一个构造函数,注意这句调用代码是否是第一句,影响重大.

源代码:

class Grandparent {

public Grandparent() {

System.out.println("GrandParent Created.");

}

public Grandparent(String string) {

System.out.println("GrandParent Created.String:" + string);

}

}

class Parent extends Grandparent {

public Parent() {

//super("Hello.Grandparent.");

System.out.println("Parent Created");

// super("Hello.Grandparent.");

}

}

class Child extends Parent {

public Child() {

System.out.println("Child Created");

}

}

public class TestInherits {

public static void main(String args[]) {

Child c = new Child();

}

}

运行截图:

经过修改Parent构造方法的代码,显式调用GrandParent的另一个构造函数。

运行结果截图:

总结:子类的构造方法在运行之前,必须调用父类的构造方法。通过 super 调用基类构造方法,必须是子类构造方法中的第一个语句。

2.请自行编写代码测试以下特性:在子类中,若要调用父类中被覆盖的方法,可以使用super关键字。

源代码;

//编写代码测试特性:子类中,若要调用父类中被覆盖的方法,可以使用super关键字。

//fanyalei 2015.11.09

class Father{    //父类

public void Show(){

System.out.println("父类方法被调用.");

}

}

class Son extends Father{  //子类

public void Show(){

super.Show();

System.out.println("子类方法被调用.");

}

}

class Override {

public static void main(String[] args){

Son a=new Son();

a.Show();

}

}

运行截图:

时间: 2024-08-05 06:07:52

接口与继承的课上作业的相关文章

课上作业。

<C语言程序设计>实验报告 学 号 160809229 姓 名 马寅武 专业.班 计科16-2班 学 期 2016-2017 第1学期 指导教师 黄俊莲 吉吉老师 实验地点 C05 机 器 号 时 间 2016年 10 月 13 日 6 周 周四 1.2 节 截至日期 2016.10.13 11:50 实验任务清单 1.实验3-1 分别使用while循环.do while循环.for循环求(即求1+2+3+ ……+100) 2.实验3-2分别使用while循环.do while循环.for循环

20165212任胤第四周课上作业补做

20165212任胤 第四周课上测试补做 题目:jdb调试递归循环程序 程序代码: import java.util.Arrays; public class B { public static void main(String [] args) { if(args.length < 1){ System.out.println("Usage: java CLSumRecursion num1 num2 ..."); System.exit(0); } int m = Integ

课堂作业第四周课上作业一

题目要求 查找list[]中的最大值:int Largest(int list[], int length); n n首份实现代码如下: int Largest(int list[], int length) { int i,max; for(i = 0; i < (length – 1); i ++ ) { if(list[i] > max) { max=list[i]; } } return max; } 编写一个程序对Largest函数进行测试,并将你的所有的测试用例写在纸上. 代码 #

课上作业补充

#include<stdio.h> main() {char funstr(char* str); char str [11]="helloworld"; printf("%s\n",str); str[0]='H'; str[6]='w'; puts(str); getchar(); funstr(str);} char funstr(char* str) {int i=0; printf("%s\n",str[11]); whil

20165339第四周课上作业补交

一.书上代码运行截图 递归 JDB 二.知识点 Ctrl+Shift+T打开三个标签 stop in <class id>.<method>在方法中设置断点 stop at <class id>:<line>在行中设置断点 clear列出断点 clear <class id>.<method>清除方法中的断点 clear <class id>:<line>清除行中的断点 use [source file pat

7多态与异常处理的课上作业

1.怎样判断对象是否可以转换?可以使用instanceof运算符判断一个对象是否可以转换为指定的类型: Object obj="Hello"; if(obj instanceof String) System.out.println("obj对象可以被转换为字符串"); (1)下列语句哪一个将引起编译错误?为什么?哪一个会引起运行时错误?为什么? m=d;         //编译正确,因为子类对象可以直接赋给基类变量. d=m;        //编译错误,基类对

课上作业

随机的三十道计算题因为是小学生所以是两位数的加减乘除运算. 随机的加减乘除计算题所以用switch语句. 随机的出数用的rand语句. 三十道题用的for循环. 代码如下: #include "stdafx.h" #include<iostream.h>#include<stdlib.h>#include<time.h>int main(){ srand(time(NULL)); int a, b, c; for(int i = 1; i <=

C语言简单实现14个例题(谭浩强第四版)源于课上作业仅供参考!

#include<stdio.h> #include<math.h>#include<stdio.h> #include<math.h> #define PI 3.14159//对第二题的应用 void huashi()//1. 华氏度与摄氏度相互转换 { float f,c; printf("\n"); printf("请输入华氏:\n"); scanf("%f",&f); c=(5.0/

第一次课上作业——编写程序,输出30道四则运算题

一.设计思路 1.首先完成一个四则运算的出题程序,其次运用循环的方式完成30道题2.首先使用随机函数生成四则运算中的第一个数的随机数,随机数要求是整数和真分数,其他的数不支持 2.1.首先生成一个随机数,取值为1或2,以此来确定四则运算中第一个随机数应该是整数还是真分数.若随机数为1则为整数,若随机数为2则为真分数.. 2.2.若为四则运算中的数为真分数,则随机生成两个数,作为分子和分母,并使得分母大于分子. 3.使用随机函数生成四则运算中的第二个数的随机数,此随机数的要求以及操作同第二步 4.