java 接口

来源:互联网 发布:安卓应用推荐知乎 编辑:程序博客网 时间:2024/05/18 03:27


/*
 接口   又名  完全的抽象类 
 interface   
 接口定义时  格式特点  
 1  常量 抽象方法
 2  固定的修饰符
    常量 public static  final
方法 public static  abstract
 3 接口中的成员都是public
 4 接口不允许创建对象
 5 接口中的方法可以有参数列表和返回类型 但是不能有方法体
 6 接口中的字段默认被声明为static 和final 
 7 接口中的方法默认被public修饰 即 abstract public
 8 实现接口的时候 需要将被定义的方法声明为public 否则为默认访问类型 编译器会报错
 9 如果没有实现接口中的所有方法  那么创建的仍然是一个接口 或者是一恶搞抽象方法
 10 接口可以继承接口 用extend关键字实现   接口的实现用implenents
 
   interface 和 abstract 有很多的相似的地方 但是要采用那种方式声明类  呢
1. 如果要创建不带任何方法定义和成员变量的基类,那么就应该选择接口而不是抽象类。
2.如果知道某个类应该是基类,那么第一个选择的应该是让它成为一个接口,只有在必须
要有方法定义和成员变量的时候,才应该选择抽象类。因为抽象类中允许存在一个或多个被具体实现的方法,只要方法没有被全部实现该类就仍是抽象类


接口可以多实现
*/
//定义接口Inter
interface  Inter
{
public static final int Num=3;
public abstract void show();
}
//定义接口Inter2
interface  Inter2
{
public abstract  void Study(); 
}
//定义一个类
class  Dome
{
public void funtion(){}



//实现两个接口并且继承了Doem类的
class   InterfaceText  extends Dome implements Inter , Inter2
{
  //实现接口Inter的方法
   public  void show(){}
  // 实现Inter2 的方法
   public  void Study(){}
}




// 01接口之间可以有继承关系  
//02 接口之间 可以有多继承  但是只存在于 接口于接口之间
interface A
{
void methodA();
}
//接口B继承接口A
interface B    extends A
{
   void methodB();
}
//接口C 继承接口B
interface C  extends B
{
void methodC();
}
// 类D实现了接口 C 就实现了接口中的方法     
class   D   implements C
{
public void methodA(){}
public void methodB(){}
public void methodC(){}
}




/*
  接口的特点 
   
*/


class  Interface
{
public static void main(String[] args) 
{


   InterfaceText  s=new  InterfaceText();
        int ss= s.Num;
   int sd=InterfaceText.Num;
   int sdaa=Inter.Num;
System.out.println(ss+sd+sdaa);
}
}






0 0
原创粉丝点击