新手写java程序。哪错了~~看的头晕了。求帮忙
classChildren{Children(intmarker){System.out.println("Children("+marker+")");}}classP...
class Children
{
Children(int marker)
{
System.out.println("Children("+marker+")");
}
}
class Parent
{
Children child1=new Children(1);
}
public class asd {
public static void main(String[] args) {
Parent mo=new Parent();
}
} 展开
{
Children(int marker)
{
System.out.println("Children("+marker+")");
}
}
class Parent
{
Children child1=new Children(1);
}
public class asd {
public static void main(String[] args) {
Parent mo=new Parent();
}
} 展开
8个回答
展开全部
恩,我用Eclipse测试了一下,没有报错;但是,二楼说的,是正确:原因,在Java中,如果一个定义了一个或者多个构造方法的时候,那么就不提供默认构造方法了(既无参构造方法),而如果这个类有子类的话,那么在子类的构造方法里的第一条语句会默认有 super();//调用父类的无参构造方法,而你又没定义的话,那时候会错误.所以 如二楼所说的,在Chiledren类中增加一个无参构造方法. 不知道说得对不对,我也是依书直说,不正之处望不吝赐教!
追问
我感觉是没出错。只是每次运行都是报错:
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
at back.asd.main(asd.java:15)
难道我安装出错了?新手,多指教~~
追答
我运行没错啊
展开全部
要将Children child1=new Children(1);这个语句放到一个方法中去执行的,你可以放到Parent的构造方法中执行,例如这样:
class Children
{
Children(int marker)
{
System.out.println("Children("+marker+")");
}
}
class Parent
{
Parent(){
Children child1=new Children(1);
}
}
public class asd {
public static void main(String[] args) {
Parent mo=new Parent();
}
}
也可以放到一个其他的方法中执行的,再定义一个方法就是了
class Children
{
Children(int marker)
{
System.out.println("Children("+marker+")");
}
}
class Parent
{
Parent(){
Children child1=new Children(1);
}
}
public class asd {
public static void main(String[] args) {
Parent mo=new Parent();
}
}
也可以放到一个其他的方法中执行的,再定义一个方法就是了
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在Children类增加默认无参构造函数Children(){}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2012-06-20
展开全部
没错啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
有错么,没错。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我运行了,没有问题啊,运行结果:Children(1)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
有错吗?貌似是对的呀
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询