老是下面的提示:implicit super constructor Person() is undefined for default constructor .Must define an explicit constructor.
源程序如下:(我用的是eclipse编译器,还有我想问一下java的开发工具选择哪一个比较好用.)
package test;class Person
{
protected String name;
protected int age;
public Person(String name,int age)
{
this.name=name;
this.age=age;
}
public void print()
{
System.out.println("Name:"+name+"\nAge:"+age);
}
}
class Student extends Person
{
}
class Test {
public static void main(String args[])
{
}
}
源程序如下:(我用的是eclipse编译器,还有我想问一下java的开发工具选择哪一个比较好用.)
package test;class Person
{
protected String name;
protected int age;
public Person(String name,int age)
{
this.name=name;
this.age=age;
}
public void print()
{
System.out.println("Name:"+name+"\nAge:"+age);
}
}
class Student extends Person
{
}
class Test {
public static void main(String args[])
{
}
}
解决方案 »
- 【求题】新手学JAVA
- 急急。。谁能把这个俄罗斯方块“新游戏”,“暂停”,“继续”的功能补充啊!!
- java 中怎么样把 double 型数 转化为想要的 string 型
- main方法内部的类小代码....想讨论出点东西
- http请求连接中获得OutputStream出现异常!!!(急)
- 有谁看过jdbc的源码啊?分析一下过程!请进!
- java程序编译求助?
- 请高手告诉我 在哪里能找到OpenGl for java的资料!!
- 我运行一个java怎么老是出错!!!急啊!!!
- 大家能不能帮帮我定个目标?
- 急!请教如何屏蔽脏话.感激不尽!
- lomboz+emf+gef+jem.zip插件哪有可靠下载
public Person()
{
}
byKathy SierraandBert Bates
McGraw-Hill/Osborne 2006 (864 pages)
ISBN:0072253606
public Person()
{}
就可以了
protected String name;
protected int age;////你已经定义了自动的构造函数,此时编译器不会为你创建默认的构造函数
public Person(String name,int age) {
this.name=name;
this.age=age;
}
public void print() {
System.out.println("Name:"+name+"\nAge:"+age);
}
}//由于父类的构造函数是有掺的,所以编译不会为你自动调用默认的构造函数,此时,子类在自
//己的构造函数中必须显示的调用父类的构造函数
class Student extends Person {
public Student(){ //子类构造函数
//super(); //不行,因为你的父类没有无参的构造函数
super("a",1); //显示调用父类的构造函数,而且必须是第一行调用
}
}
class Test {
public static void main(String args[]){
}
}
super("a",1);是给Student这个类初始化吗?
比如:Studnet这个子类我要添加学生编号.那调用父类的构造函数的话.
因为父类的构造函数只定义了两个属性.如果把子类新添加的属性也打印出来呢?
我是java初学者.我酷爱编程想和一些喜欢编程人交朋友.
有好多地方不太懂.还请大家多多帮忙.谢谢了....