首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

请帮小弟我看一上,上面的代码为什么会报错?多谢了

2013-01-08 
请帮我看一下,下面的代码为什么会报错?谢谢了在下面的代码中,我要B类继承A类并且实现IA接口,可以报错,为什

请帮我看一下,下面的代码为什么会报错?谢谢了
在下面的代码中,我要B类继承A类并且实现IA接口,可以报错,为什么?


public class test {

interface IA{
int i=0;
void f();
}

abstract class A{
int i =1;
void f(){
System.out.println(i);
}
}

class B extends A implements IA{---------这一句为什么报错?

}

public static void main(String[] args) {
 

}
}
[解决办法]
这里的 A. f();声明成public
[解决办法]
B的方法体没有实现接口IA的方法,在B的方法体里加入
public void f() {
System.out.println();
}
即可。
[解决办法]
所有的接口默认都是public方法,实现他的类中的方法默认的也是public.



public class Test{
interface IA{
int i=0;
    void f(); 
}

abstract class A implements IA{
int i =1;
public void f(){//此处加上public.
System.out.println(i);
}
}

class B extends A implements IA{

}

public static void main(String[] args) {
 

}
}


[解决办法]
这是接口和抽象类之间的问题,接口可以看成是一种特殊的抽象类,他们的关系是,所有的接口都是抽象类,但是每一个抽象类不一定接口,
class B extends A implements IA;这个语句是说,B类继承了A类并且实现了接口IA,
因此A类中的方法要用public修饰。

热点排行