java中super的用法

问题描述

我在Water类中写了这个构造函数public Water(int riqi,int name){super(riqi,name);}但是总是提示说the constructor Objector(String,String) is undefined请问我这个问题是出在哪里的呢。我记得以前这样写都可以的啊。 问题补充:谢谢。

解决方案

super的常用方式两种:1、super(),指调用直接父类定义过的构造函数,具体调用哪一个,由你传入的参数列表决定;(根据你的编译错误,可以看到的是你的Water类的父类没有定义参数列表为(int ,int)的构造器);2、super.methodName(参数列表):调用父类的名为methodName的函数,可以是直接父类,也可以是祖先类的。
解决方案二:
类型都不一样,只存在String,String的构造函数,而int,String的构造函数根本就没有。
解决方案三:
Water继承的哪个类,还有你类中是否有这样的构造函数?你这信息都贴的不全,把Water及父类代码都贴出来。

时间: 2025-01-27 17:54:30

java中super的用法的相关文章

解析java中super的用法分析_java

昨天写this用法总结的时候,突然产生了一个问题,请教别人之后,有了自己的一点认识.还是把它写下来,为大家更好的认识提供一点思路.1)有人写了个很好的初始化属性的构造函数,而你仅仅想要在其中添加另一些自己新建属性的初始化,这样在一个构造函数中调用另外一个构造函数,可以避免重复的代码量,减少工作量:2)在一个构造函数中调用另外一个构造函数的时候应该用的是同一块内存空间,在默认的构造函数中先初始化变量,调用另一个的时候覆写已经初始化的变量的值:3)整个调用的过程和递归调用函数有点类似,不断充气球,直

java之super关键字用法实例解析_java

本文实例讲述了java中super关键字的用法.分享给大家供大家参考.具体方法分析如下: super关键字:在java中使用super来引用基类的成分. 程序代码如下: class FatherClass{ public int value; public void f(){ value = 100; System.out.println("FatherClass.value:"+value); } } class ChildClass extends FatherClass{ pri

java中final的用法

许多程序设计语言都有自己的办法告诉编译器某个数据是"常数".常数主要应用于下述两个方面: (1) 编译期常数,它永远不会改变 (2) 在运行期初始化的一个值,我们不希望它发生变化 对于编译期的常数,编译器(程序)可将常数值"封装"到需要的计算过程里.也就是说,计算可在编译期间提前执行,从而节省运行时的一些开销.在Java中,这些形式的常数必须属于基本数据类型(Primitives),而且要用final关键字进行表达.在对这样的一个常数进行定义的时候,必须给出一个值.

Python中super关键字用法实例分析

  本文实例讲述了Python中super关键字用法.分享给大家供大家参考.具体分析如下: 在Python类的方法(method)中,要调用父类的某个方法,在Python 2.2以前,通常的写法如代码段1: 代码段1: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 class A: def __init__(self): print "enter A" print "leave A" class B(A): def __init__(s

Python中super的用法实例

  这篇文章主要介绍了Python中super的用法实例,本文对比了普通继承和super继承的相关内容,从运行结果上看,普通继承和super继承是一样的,但是其实它们的内部运行机制不一样,这一点在多重继承时体现得很明显,需要的朋友可以参考下 super 是用来解决多重继承问题的,直接用类名调用父类方法在使用单继承的时候没问题,但是如果使用多继承,会涉及到查找顺序(MRO).重复调用(钻石继承)等种种问题.总之前人留下的经验就是:保持一致性.要不全部用类名调用父类,要不就全部用 super,不要一

Java中getResourceAsStream的用法小结

Java中getResourceAsStream的用法小结 一.Java中的getResourceAsStream主要有以下三种用法:1.Class.getResourceAsStream(String path)      path 不以'/'开头时默认是从此类所在的包下取资源,以'/'开头则是从ClassPath根下获取.     其实是通过path构造一个绝对路径,最终还是由ClassLoader获取资源. 2.Class.getClassLoader.getResourceAsStrea

详解Java中final的用法_java

概念 final 具有"不可改变的"的含义,可以修饰 非抽象类.非抽象成员方法和变量. 用 final 修饰的类不能被继承,没有子类. 用 final 修饰的方法不能被子类的方法覆盖(重写). 用 final 修饰的变量表示常量,只能被赋一次值(声明变量的时候). 注: final 不能用来修饰构造方法,因为"方法覆盖"这一概念仅适用于类的成员方法,而不适用于类的构造方法,父类的构造方法和子类的构造方法之间不存在覆盖的关系,因此用final修饰构造方法没有任何意义.

java中super.父类方法和super( )的区别和联系是什么

问题描述 java中super.父类方法和super( )的区别和联系是什么 java中super.父类方法 和super( )的区别和联系是什么 为什么子类重写父类方法之后还要在那方法体里面写super.父类方法 解决方案 super.父类方法就是调用父类的方法.super() 就是执行父类的构造方法.重写后调用不调用父类方法是看你具体需求的.如果父类有a,b两个方法,你子类只重写了a方法,那么子类中并没有b方法,这时你就要 在你重写的a中写super.b()

Java中的多态用法实例分析_java

本文实例讲述了Java中的多态用法.分享给大家供大家参考.具体分析如下: 多态,是面向对象的程序设计语言最核心的特征.封装性.继承性都比较简单,所以这里只对多态做一个小小的笔记... 1.什么是多态? 多态意味着一个对象可以多重特征,可以在特定的情况下,表现出不同的状态,从而应对不同的属性和方法.在Java中,多态的实现指的是使用同一个实现接口,以实现不同的对象实例. 例如,我们定义一个Parent类,再定义一个getName()方法返回一个字符串,定义一个形参为Parent类型的成员方法doS