Java--- 接口

接口

定义时需要用interface关键字

接口的权限一定是public
1.格式

public interface 接口名{
         抽象方法1;
         抽象方法2;
         抽象方法3;
}

2.接口的实现

实现用implement关键字

public interface MyInterface {
     public abstract void function( );

}   
 
  
                                   重写
   public class MyInterfaceImp1 implements  MyInterface{
         public void function( ){
           System.out .println("实现类,重写");
           
}
}   
 
  
  *测试* 
   
   public class Test{
public static void main(String[ ]   args){
            MyinterfaceImp1  my = new MyInterfaceImp1( );
             my.function( );
}
}

3.接口中成员的特点

  • 没有变量,都是常量 固定格式:public static final 数据类型 变量名=值
  • public 权限
  • static 可以被类名直接调用
  • final 最终,固定住变量的值----常量
    • 注意:public static final 修饰符 ,在接口中,可以省略不写
      但是,, 不写不等于没有。
public interface MyInter{
      public static  final int x=3; 
   }    
         
         
        *测试* 
        public class Test{
                 public static void main(String[  ]  args){
                 //常量被静态修饰,可以被类名直接调用,被接口的名字直接调用 
                 System.out.println(MyInter.x); 
                 
}       
   }
 
     

4.实现类,实现接口,必须重写全部抽象方法,创建实现类对象
实现类,重写了一部分抽象方法,实现类,还是一个抽象类。

5.接口的多继承
多个接口之间可以用extends进行继承

 interface Fu1{
      void show( );
} 
interface Fu2{
      void show1( );
} 
interface Fu3{
     void show2( );
} 
interface Z1 extends Fu1,Fu2,Fu3{
     void show3( );
 
 }

注意:
问:Java中有多继承吗?
答:类没有多继承,接口之间多继承。

6.接口和抽象的区别

相同点:

  • 都位于继承的顶端,用于被其他类实现或继承
  • 都包含抽象方法,其子类都必须覆写这些抽象方法

不同:

  • 抽象类为部分方法提供实现,避免子类重复实现这些方法,提高代码重用性
    -接口只能包含抽象方法
  • 一个类只能继承一个直接父类(可能是抽象类),却可以实现多个接口;
  • 抽象类是这个事物中应该具备的你内容, 继承体系是一种 is…a关系
    -接口是这个事物中的额外内容,继承体系是一种 like…a关系

二者的选用:

  • 优先选用接口,尽量少用抽象类
  • 需要定义子类的行为,又要为子类提供共性功能时才选用抽象类
发布了43 篇原创文章 · 获赞 6 · 访问量 1564

猜你喜欢

转载自blog.csdn.net/weixin_43729631/article/details/84798973