java-子类继承GCompound没有问题,但是继承父类之后就出错

问题描述

子类继承GCompound没有问题,但是继承父类之后就出错
父类:

public class TrainCar extends GCompound{    public TrainCar(double size){        engine =  new Engine(size);        add(engine);        }}

子类:

public class Engine extends  TrainCar {     public Engine (double size){    //继承父类之后,标记这行出错。如果继承 GCompound,则无问题。        GPolygon engine = engine(size);             add(engine);    }}

解决方案

因为父类没有默认的构造方法吧
两种改法:1.父类加上无参数的构造方法
2.public Engine (double size){}方法里加上super(size);

时间: 2024-09-26 01:06:41

java-子类继承GCompound没有问题,但是继承父类之后就出错的相关文章

继承-java 子类构造函数要用到父类的方法判断成功后再构造,但这样的话super()不是第一句就报错

问题描述 java 子类构造函数要用到父类的方法判断成功后再构造,但这样的话super()不是第一句就报错 父类是点,里面有方法判断是不是同一个点,子类是直线,我在子类直线构造时要判断两个点是否相等,因此调用父类的方法,但是这样下面先构造父类super()就不对,该怎么解决呢? 谢谢解答. 解决方案 首先,你的父类是不是有有参构造函数呢?如果有的话,子类构造函数的第一句就必须是super(参数)调用父类的构造函数. 其次,父类有有参数构造函数,第一句就先super(参数),然后再调用父类的方法.

对象-java子类构造方法的问题--必须要先调用父类的构造方法么?

问题描述 java子类构造方法的问题--必须要先调用父类的构造方法么? 好像有这样一说法在子类的构造方法中,如果没有调用父类的构造方法,就会默认加一个super() 如果父类没有这一构造方法,就会报错.我想问java在子类的构造方法时候是先检验是否能生成父类的对象还是先检测是否调用了该子类的其他构造方法,因为我这样试了试通过了编译. 解决方案 我的理解是18-19之间是没有调用的,因为下面的这句话就说明了19行的内容其实是等价于直接执行三个参数的构造方法,真正需要执行super的是在这三个参数的

d-JAVA中,继承的类可以修改父类成员变量的值?

问题描述 JAVA中,继承的类可以修改父类成员变量的值? class FatherClass{ public int value; public void info(){ value=100; System.out.println("FatherClass="+value); } } class ChildClass extends FatherClass{ //public int value; public void info(){ super.info(); value=200;

Java 8 默认方法和多继承深入解析

以前经常谈论的Java对比c++的一个优势是Java中没有多继承的问题. 因为Java中子类只能继承(extends)单个父类, 尽管可以实现(implements)多个接口,但是接口中只有抽象方法,方法体是空的,没有具体的方法实现,不会有方法冲突的问题. 这些都是久远的说法了,自从今年Java 8发布后, 接口中也可以定义方法了(default method). 之所以打破以前的设计在接口中 增加具体的方法, 是为了既有的成千上万的Java类库的类增加新的功能, 且不必对这些类重新进行设计.

java面向对象(二)之继承

继承 介绍 继承是从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为,并能扩展新的能力.继承即常说的is-a关系.子类继承父类的特征和行为,使得子类具有父类的各种属性和方法.或子类从父类继承方法,使得子类具有父类相同的行为. 例子: 比如可以先定义一个类叫车,车有以下属性:车体大小,颜色,方向盘,轮胎,而又由车这个类派生出轿车和卡车两个类,为轿车添加一个小后备箱,而为卡车添加一个大货箱. 继承所表达的就是一种对象类之间的相交关系,它使得某类对象可以继承另外一类对象的数据成员和成员方法.

Java的Hibernate框架中的继承映射学习教程_java

一.继承映射继承是面向对象很重要的特性,它实现了代码的服用,在关系模型中同样也有继承关系,这种继承关系其实可以看做是一种枚举关系,一种类型中可以枚举出很多子类型,这些子类型和父对象形成了继承关系,能够对其进行枚举的大部分都可以看做是一种继承映射,所以这种枚举关系可以看做是继承映射,例如动物就是一种抽象类,它是其它动物猪.猫等的父类,它们之间就是一种继承关系,如下图: 这种继承映射在转化为关系模型后会生成一张表,那么这张表是如何区分这两种类型的呢?用的是关系字段,需要在表中添加类型字段,使用关键字

java类的问题-java编程,有关类的继承,方法的覆盖等

问题描述 java编程,有关类的继承,方法的覆盖等 类Citizen,拥有identityCardNumber(String).name(String).gender(char).birthPlace(String).birthday(java.util.Date)属性,构造方法Citizen(String identityCardNumber, String name, char gender).Citizen(String identityCardNumber, String name, c

Java基础教程之接口的继承与抽象类_java

在实施接口中,我们利用interface语法,将interface从类定义中独立出来,构成一个主体.interface为类提供了接口规范. 在继承中,我们为了提高程序的可复用性,引入的继承机制.当时的继承是基于类的.interface接口同样可以继承,以拓展原interface. 接口继承 接口继承(inheritance)与类继承很类似,就是以被继承的interface为基础,增添新增的接口方法原型.比如,我们以Cup作为原interface: 复制代码 代码如下: interface Cup

java用接口、多态、继承、类计算三角形和矩形周长及面积的方法_java

本文实例讲述了java用接口.多态.继承.类计算三角形和矩形周长及面积的方法.分享给大家供大家参考.具体如下: 定义接口规范: /** * @author vvv * @date 2013-8-10 上午08:56:48 */ package com.duotai; /** * * */ public interface Shape { public double area(); public double longer(); } /** * @author vvv * @date 2013-8