java继承课后作业

1.动手实验:继承条件下的构造方法调用

源代码:
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) {
// TODO 自动生成的方法存根
Child c=new Child();
}

}

运行结果截图:

结论:

通过 super 调用基类构造方法,必须是子类构造方法中的第一个语句。

思考:为什么子类的构造方法在运行之前,必须调用父类的构造方法?能不能反过来?为什么不能反过来?

构造函数(constructor)是一种特殊的方法 。主要用来在创建对象时初始化对象, 即为对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中 。特别的一个类可以有多个构造函数 ,可根据其参数个数的不同或参数类型的不同来区分它们 即构造函数的重载。构造函数的功能主要用于在类的对象创建时定义初始化的状态。
所以说构造函数的作用,简单来说就是初始化,初始化一个新建的对象。

时间: 2024-12-15 14:30:33

java继承课后作业的相关文章

接口与继承课后作业

完成课件中的动手动脑的或需要验证的相关内容: 1 运行 TestInherits.java 示例,观察输出,注意总结父类与子类之间构造方法的调用关系修改Parent构造方法的代码,显式调用GrandParent的另一个构造函数 源程序代码: class Grandparent { public Grandparent() { System.out.println("GrandParent Created."); } public Grandparent(String string) {

JAVA字符串课后作业

1.古罗马皇帝凯撒在打仗时曾经使用过以下方法加密军事情报: 请编写一个程序,使用上述算法加密或解密用户输入的英文字串要求设计思想.程序流程图.源代码.结果截图. 程序设计思想: 输入要加密的子串str,定义字符串长度,将字符串转化为单个字符,每个字符+3,向后移3个,每个字符-3,向前移3个,定义str1,将新得到的每个字符加到str1后,得到加密后的英文子串str1,定义str2,将新得到的每个字符加到str2后,得到解密后的英文子串str2,输出加密后的子串str1,输出解密后的子串str2

继承课后作业

动手实验:继承条件下的构造方法调用 源代码: class Grandparent{  public Grandparent()  {    System.out.println("GrandParent Created.");  }public Grandparent(String string) {  System.out.println("GrandParent Created.String:"+string); }}class Parent extends G

JAVA数组课后作业

1.上述代码可以顺利通过编译,并且输出一个“很奇怪”的结果:Ljava.lang.Object;@ba8a1dc,这是为什么? 由于java的Object数组不能转换成为String[]数组,这就说明你要转换的数组它本身是Object类型的数组,但是你却非要把它转换为String类的数组,这当然是错误的.在遇到类型转换出错的时候,首先要观察被转换的对象的原来类型是什么,这个就需要首先把它转换成为自己本来的类型的对象,然后根据这个对象再去操作里面的元素,再一次的转换类型,而且有的时候被分析的对象可

Java 02 课后作业

第一题: //在消息框中输入两个数,并用消息框显示出两个数的加减乘除的结果 import javax.swing.JOptionPane; public class Calculator { public static void main(String args[]) { String firstNumber,secondNumber; int number1,number2,sum,minus,plus,divide; firstNumber=JOptionPane.showInputDial

java多态课后作业

一.验证 (1)子类和父类定义了一模一样的方法 ·结果是100.200.200.200.201 ·父类调用了子类的方法,但是方法中调用的变量是子类的变量 ·自我总结:子类中的方法,如果调用同名变量,则调用的是子类的. 总结: ·当子类与父类拥有一样的方法,并且让一个父类变量引用一个子类对象时,到底调用哪个方法,由对象自己的"真实"类型所决定,这就是说:对象是子类型的,它就调用子类型的方法,是父类型的,它就调用父类型的方法. ·这个特性实际上就是面向对象"多态"特性的

JAVA第三周课后作业

JAVA课后作业 一.枚举类型 代码: enum Size{SMALL,MEDIUM,LARGE}; public cl ass EnumTest { public static void main(String[] args) { Size s=Size.SMALL; Size t=Size.LARGE; //s和t引用同一个对象? System.out.println(s==t);  // //是原始数据类型吗? System.out.println(s.getClass().isPrimi

JAVA语法基础 动手动脑及课后作业

动手动脑1: 仔细阅读示例: EnumTest.java,运行它,分析运行结果? public class EnumTest { public static void main(String[] args) { Size s=Size.SMALL; Size t=Size.LARGE; //s和t引用同一个对象? System.out.println(s==t);  // //是原始数据类型吗? System.out.println(s.getClass().isPrimitive()); //

java课后作业-4

一.编写一个方法,使用以上算法生成指定数目(比如1000个)的随机整数. public class suiji { private static final int N = 200; private static final int LEFT = 40; private static final int RIGHT = 10000; private static long x0 = 1L; private long a = 1103515245L; private long c = 12345L