请帮我看一下,下面的代码为什么会报错?谢谢了
在下面的代码中,我要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修饰。