解决方案 »
- (有关Agent)运行JADE平台出现的问题,恳请高手赐教!!!!!!!!!
- 我第一个JAVA程序,好象有问题。请指教
- 请JAVA高手或是过来人进来指导一下。
- 请教Thinking in java中第6章 类再生关于6.2 继承的语法中Detergent.java运行的问题?源代码如下:
- 问个问题,在线等待~~谢谢
- java写文件的问题!
- 为什么没人来(laocai8),真失望,雷锋哪去了?????????
- 我想用APPLET实现读取客户端的图片文件,该如何实现?
- 高手幫忙!Socket連接數的問題(急急急!)
- 一个关于内存泄露的问题
- Comparable和Comparator的区别?
- 咨询hibernate-1对多关联、多对1关联的效率问题
//构建一个班主任的实例
HeadTeacher ht=new HeadTeacher();
改为 HeadTeacher ht=new HeadTeacher(p);
就好了吧
public HeadTeacher (){}
你定义了有参的,无参的就被覆盖了,再用无参的话必须显式声明出来。
package persontest;public class HeadTeacher {
private Person a;
public HeadTeacher(){
}
public HeadTeacher(Person a)
{
this.a=a;
}
public void setName(String name)
{
a.setName(name);
}
public String getName()
{
return a.getName();
}
public void setAge(int age)
{
a.setAge(age);
}
public int getAge()
{
return a.getAge();
}
public void say()
{
System.out.println("我是班主任,我姓"+this.getName());
}
}
来到Headteacher类里,只定义了一个有参构造方法(接收一个Person对象),而你又没有定义无参的构造方法(Headteacher()),那么在创建Headteacher对象的时候只能调用有参的构造方法。
在代码第9行你调用的是Headteacher的无参构造方法(你并没有定义),因此系统报错,提示没有找到对应的构造器。
另外,在Person类中,你没有定义任何一个构造方法,而在代码中创建对象却没有报错,是因为如果你在类中没有定义构造方法,系统会默认为你创建一个无参的构造方法(Person(){}),用来创建该类的对象。
要修改的话,只要在Headteacher类中创建相应的无参构造方法就行了。
我也是新人,一起加油吧。