JAVA基础: 接口、类的概念、用法、作用

、接口
接口是一个类,接口是一个抽象类,因为接口里面的方法都是抽象方法。
1.定义接口语法
class interface 类名{
抽象方法…

}
/*

  • 创建一个接口类 类名是Inter1
  • 接口里面抽象方法都可以省略abstract
  • 接口类是比抽象类更抽象的类
  • /
    public interface Inter1 {
    //接口里面不能有非抽象方法
    /public void method1(){
    }
    /
    // 这面2个方法是重载方法
    public abstract void method(); //抽象方法
    void method(int a); //抽象方法
    void method2();
    public void method3();
    //有方法体的static方法 和上面的方法不是重载关系
    //接口里面可以有static的带方法体的方法
    static int method(int x,int y){
    return x+y}
    2.普通类实现接口
    implements 关键字 一个类实现一个接口父类
    class Zi implements Fu{ //子类实现一个接口类
    }
    3.接口中成员的特点
    成员属性
    接口里面的成员属性(成员变量)都是静态常量 ,前面默认都省略了 public static fina
    成员方法
    1、接口中可以定义变量,但是变量必须有固定的修饰符修饰,public static final 所以接口中
    的变量也称之为常量,其值不能改变。后面我们会讲解static与final关键字
    2、接口中可以定义方法,方法也有固定的修饰符,public abstract
    3、接口不可以创建对象。
    4、子类必须覆盖掉接口中所有的抽象方法后,子类才可以实例化。否则子类是一个抽象类。
    4.类和接口多种形式
    1.一个类可以实现多个接口
    /
  • 一个类可以实现多个接口
  • /
    public class Zi implements Fu1,Fu2,Fu5{
    }
    2.一个类继承另外一个类同时实现接口
    /
  • 一个类继承另一个类同时实现接口(多个)
  • /
    public class Zi2 extends Fu3 implements Fu1,Fu2{
    }
    3.一个接口可以继承多个接口
    /
  • 一个接口 继承 另外的接口
  • 用extends关键字
  • /
    public interface Fu6 extends Fu1,Fu2 {
    }
    一个类继承一个父类 , 继承是单继承
    一个类实现多个父类接口 ,接口可以多实现
    5.继承(extends)和实现(implements)对比
    extends和implements都是关键字。都能产生父子类关系,继承类,实现接口
    继承:子类是父类 //狗狗是动物 学生是人 老师是人
    实现:子类拥有父类(能力,功能,规范) //风扇有USB功能 鼠标有USB接口功能
    6.接口和抽象类的区别
    相同点:
    l 都位于继承的顶端,用于被其他类实现或继承;
    l 都不能直接实例化对象;
    l 都包含抽象方法,其子类都必须覆写这些抽象方法;
    区别:
    l 抽象类为部分方法提供实现,避免子类重复实现这些方法,提高代码重用性;接口只能包含抽象方
    法;
    l 一个类只能继承一个直接父类(可能是抽象类),却可以实现多个接口;(接口弥补了Java的单继承)
    二者的选用:
    /
  • 一个类继承另一个类同时实现接口(多个)
  • /
    public class Zi2 extends Fu3 implements Fu1,Fu2{
    }
    /
  • 一个接口 继承 另外的接口
  • 用extends关键字
  • */
    public interface Fu6 extends Fu1,Fu2 {
    }
    一个类继承一个父类 , 继承是单继承
    一个类实现多个父类接口 ,接口可以多实现
    l 需要定义子类的行为,又要为子类提供共性功能时才选用抽象类;
    7.接口的在开发中的好处
    1、接口的出现扩展了功能。
    2、接口其实就是暴漏出来的规则(约束),约束了方法的定义
    3、接口的出现降低了耦合性,即设备与设备之间实现了解耦。

你可能感兴趣的:(JAVA基础)