标题:这个程序为什么编译通不过?(关于构造函数调用的问题)
取消只看楼主
Grace_TT
Rank: 1
等 级:新手上路
威 望:1
帖 子:324
专家分:0
注 册:2005-12-21
 问题点数:0 回复次数:6 
这个程序为什么编译通不过?(关于构造函数调用的问题)

class Example
{
String str;
public Example()
{
str= "example";
}
public Example(String s)
{
str=s;
}
}
class Demo extends Example
{

}
class Test
{
public void f ()
{
Example ex = new Example("Good");
Demo d = new Demo("Good");//就是这里说找不到符号。
}
public static void main(String args[])
{
new Test().f();
}
}


错误提示:找不到符号。

谁知道为什么呀?

[此贴子已经被作者于2006-4-16 9:55:15编辑过]

搜索更多相关主题的帖子: Example 函数 构造 public str 
2006-04-16 09:51
Grace_TT
Rank: 1
等 级:新手上路
威 望:1
帖 子:324
专家分:0
注 册:2005-12-21
得分:0 
可是,如果我这样改的话,就能通过了:
Demo d = new Demo();

为什么?
2006-04-16 10:53
Grace_TT
Rank: 1
等 级:新手上路
威 望:1
帖 子:324
专家分:0
注 册:2005-12-21
得分:0 
还有,为什么我把它改成这样,也有错:
class Demo extends Example
{
public Demo()
{
super(String s);//需要 ')'
}
}
class Test
{
public void f ()
{
Example ex = new Example("Good");
Demo d = new Demo();
}
2006-04-16 11:42
Grace_TT
Rank: 1
等 级:新手上路
威 望:1
帖 子:324
专家分:0
注 册:2005-12-21
得分:0 
不是构造子类对象的时候,它先调用父类的无参构造函数吗,那我改成这样,程序编译出错的原因又是什么:
class Example
{
String str;
public Example()
{
str= "example";
System.out.println(str);

}
public Example(String s)
{
str=s;
System.out.println(str);
}
}
class Demo extends Example
{

public Demo( String s)
{


System.out.println(s);
}
}
class Test
{
public void f ()
{
Example ex = new Example("Good");
Demo d = new Demo();//找不到符号。
}
public static void main(String args[])
{
new Test().f();
}
}
2006-04-16 13:27
Grace_TT
Rank: 1
等 级:新手上路
威 望:1
帖 子:324
专家分:0
注 册:2005-12-21
得分:0 
但是,它不是可以调用父类的无参构造函数吗?
2006-04-16 13:53
Grace_TT
Rank: 1
等 级:新手上路
威 望:1
帖 子:324
专家分:0
注 册:2005-12-21
得分:0 
你的意思是说,父类的无参构造函数是由子类的无参构造函数来调用的?
那为什么我把这个程序改成这样,它依然调用了父类的无参构造函数呢,此时的子类中我也没有定义无参构造函数呀:


class Example
{
String str;
public Example()
{
str= "example";
System.out.println(str);

}
public Example(String s)
{
str=s;
System.out.println(str);
}
}
class Demo extends Example
{

public Demo( String s)
{


System.out.println(s);
}
}
class Test
{
public void f ()
{
Example ex = new Example("Good");
Demo d = new Demo("Hello");
}
public static void main(String args[])
{
new Test().f();
}
}
2006-04-16 14:07
Grace_TT
Rank: 1
等 级:新手上路
威 望:1
帖 子:324
专家分:0
注 册:2005-12-21
得分:0 
子类不是不能继承父类的构造函数吗?
2006-04-16 18:55



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-57789-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.330608 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved