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

关于接口的有关问题

2012-05-01 
关于接口的问题package javanimport java.util.*interface Common{public abstract int ComputerTime(St

关于接口的问题
package javan;
import java.util.*;
 interface Common{
  public abstract int ComputerTime(String v,int a,int b,int c);
}

class Car007 implements Common
{
  int A,B,C;
String car;
  public int ComputerTime(String car,int a,int b,int c)
  {
  car="Car";
  this.A=a;
  this.B=b;
  this.C=c;
  return a*b/c;
  }
}

public class Main {


  public static void main(String[] args) {
Car007 A=new Car007();
System.out.print("the car speed is " +A.ComputerTime("car", 10, 20, 30));
  }
}
为什么在Car007的ComputerTime方法必须声明为public呢?不声明的话就会报错。就解释,谢谢了.

[解决办法]
因为接口中定义的方法是public,访问级别是最大的。那么在实现这个抽象方法的类中所定义的访问级别不能够小于接口中的方法访问级别。这是规定的
[解决办法]
子类覆盖父类方法,不能缩小该方法的可见范围。举个简单例子:

Java code
public interface Super{public void foo();}public class Sub implements Super{private void foo(){//do stuff}} 

热点排行