灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:2885回复:0

[系统教程]JAVA新手入门(5)

楼主#
更多 发布于:2012-09-08 08:08


接口
java中使用接口概念的原因:java不支持多继承性,即一个类只能有一个父类.单继承性使得java简单,易于管理程序.为了克服单继承的缺点,java使用了接口.
一个类可以实现多个接口.使用关键字interface来定义一个接口.接口的定义和类的定义很相似,分为接口的声明和接口体.
1.接口声明及接口体
前面曾使用class关键字来声明类,接口通过使用关键字interface来声明.格式
interface 接口的名字
接口体中包含常量的定义和方法定义两部分.接口体中只进行方法的声明,不允许提供方法的实现,所以,方法的定义没有方法体,且用";"结尾.如
interface Printable
{
final int max=100;
void add();
float sum(float x,float y);
}
2.接口的使用
一个类通过使用关键字implements声明自己使用一个或多个接口.如果使用多个接口,用逗号隔开接口名.如:
class A implements Printable,Addable
类A使用接口Printable 和接口Addable
子类使用接口格式也一样,如:
class B extends A implements Printable,Addable
子类B使用接口Printable 和接口Addable
如果一个类使用了某个接口,那么这个类必须实现该接口的所有方法,即为这些方法提供方法体.需要注意的是:在类中实现接口的方法时,方法的名字,返回值类型,参数个数及类型,必须与接口中的完全一致.特别要注意的是:接口中的方法默认是public abstract方法,所以类在实现接口方法时必须给出方法体,并且一定要用public来修饰,而且接口中的常量默认是public static常量.
由于接口体中只有常量定义和public的abstract方法定义,程序在编写接口时,允许省略常量前面的public,final和static修饰,也允许省略方法前的public和abstract修饰.另外,如果接口方法的返回类型不是void型,那么在类中实现接口方法时,方法体至少要有一个return语句;如果是void型,类体除了两个大括号外,也可以没有任何语句.
java提供的接口都在相应的包中,通过引入包可以使用java提供的接口.也可以自己定义接口,一个java源文件就是由类和接口组成的.
虽然使用接口描述的很罗嗦,看看下面的例子就容易掌握了
[code]
interface Computable//定义接口
{  int MAX=100;
   int f(int x);//声明方法(是public abstrac型的,只是省略了关键字)
}
class China implements Computable
{  int number;
   public  int f(int x) //不要忘记public关键字
{  int sum=0;
      for(int i=1;i<=x;i++)
{ sum=sum+i;
       }
       return sum;
   }
}
class Japan implements Computable
{  int number;
   public int f(int x)//不要忘记public关键字
{  return 44+x;
   }
}
public class E
{  public static void main(String args[])
{  China zhang;
      Japan henlu;
      zhang=new China();  
      henlu=new Japan();  
      zhang.number=991898+Computable.MAX;
      henlu.number=941448+Computable.MAX;
      System.out.println("number:"+zhang.number+"求和"+zhang.f(100));
      System.out.println("number:"+henlu.number+"求和"+henlu.f(100));
   }

喜欢0 评分0
游客

返回顶部