最近在学Java中的super,写了个程序老报错,求大神指点!
我想用super分别调用下父类的构造函数和方法成员,在调用构造函数时,
我想先在父类中给i初始化,再在子类中用super调用它,结果老出这个错误,郁闷啊!
class A
{
public int i;
public A(int i)
{
this.i = i;
}
public void f()
{
System.out.printf("AAAA\n");
}
}
class B extends A
{
public B(int i)
{
super(i);
}
public void f()
{
System.out.printf("BBBB\n");
super.f();
}
public void show()
{
f();
}
}
public class test_3
{
public static void main (String[] args)
{
A aa = new A(20);
B bb = new B();
bb.show();
}
}
错误是:
F:\java>javac test_3.java
test_3.java:33: 找不到符号
符号: 构造函数 B()
位置: 类 B
B bb = new B();
^
1 错误 B只有带参数的构造方法,而你实例化的使用的是无参数的构造方法
页:
[1]