程序如下:
class A
{
double d; public A(double a)
{
d = a;
}
}class B extends A
{
String s;
}可是编译提示错误:
--------------------Configuration: JDK version 1.5.0_02 <Default>--------------------
F:\temp\test\test.java:11: cannot find symbol
symbol : constructor A()
location: class A
class B extends A
^
1 errorProcess completed.这是怎么回事啊?
class A
{
double d; public A(double a)
{
d = a;
}
}class B extends A
{
String s;
}可是编译提示错误:
--------------------Configuration: JDK version 1.5.0_02 <Default>--------------------
F:\temp\test\test.java:11: cannot find symbol
symbol : constructor A()
location: class A
class B extends A
^
1 errorProcess completed.这是怎么回事啊?
修改如下:
1 类A中加入A() {}
2 类B中加入B() {A(1.2);}
---
其实如果没有给出B的构造构造函数,那么编译器会默认调用其父类A的默认构造函数
在此处A没有构造函数,故报错。
可以尝试下以下修改方式:
class A
{
double d;public A(double a)
{
d = a;
}
}class B extends A
{
String s;
B() {}
}
{
double d; public A(double a)
{
d = a;
}
}class B extends A
{
String s;
public B(double a){
super(a);
}
}
{
double d;
}class B extends A
{
String s;
}你这样不就行了?!