了解Java语法1.0(面向对象之接口)

 接口

接口的概念
  • 接口就是公共的行为规范标准,只要符合规范标准,就可以通用。在Java中,接口可以看成是:多个类的公共规范,是一种引用数据类型。简单来说就是一种标准,如生活中的排插、手机、电脑的USB接口等
语法规则
  • 接口定义语法:public +  interface  + 接口名 + {}
//接口1
public interface ITest {

}
//接口2
interface TTest2 {

}

接口的使用
  • 接口不能直接使用,需要其它类来帮它实现,它只是提供了一个抽象的方法(公共标准),继承接口必须实现接口内的所有抽象方法。
package test12;
//接口
public interface ITest {
    void ste();//抽象方法(标准)
    void soa();//抽象方法(标准)
}
//继承接口的实现类
public class Test12 implements ITest{
    @Override//重写抽口的方法
    public void ste() {

    }

    @Override//重写抽口的方法
    public void soa() {

    }
}
  • 继承接口的实现类语法:访问修饰 + class + 类名  + implements + 接口名 + {}


接口的特性
  • 不能使用new直接创建对象
public static void main(String[] args) {
        ITest iTest = new ITest() ;//直接new报错了

    }
  • 接口中的方法默认是public abstract,也只能是public abstract修饰的

  • 接口中不存在普通方法、构造方法、j

  • 重写接口方法时只能是public访问权限

  • 接口可以有变量存在,但是变量默认是被public  staticf  inal 修饰的


多接口
  • Java中继承只能由一个,但是接口可以由多个,可以达到多继承的效果

  • 双父类


接口之间的继承
  • 接口之间是可以继承的
//接口的继承使用关键字extends来继承
public interface ITest2 extends ITest{
    void grs();
    void ery();
}

接口的使用案例
public interface ITest {
     void openDevice();//打开行为
     void closeDevice();//关闭行为
}
public class Display implements ITest{

    @Override
    public void openDevice() {
        System.out.println("打开显示器");
    }

    @Override
    public void closeDevice() {
        System.out.println("关闭显示器");
    }

    public void testDevice(ITest iTest) {
        iTest.openDevice();
        if(iTest instanceof Mouse) {
            Mouse mouse = (Mouse) iTest;
            mouse.click();
        }else if(iTest instanceof KeyBoard){
            KeyBoard keyBoard = (KeyBoard) iTest;
            keyBoard.click();
        }
        iTest.closeDevice();
    }

    public static void main(String[] args) {
        Display display = new Display();
        display.openDevice();
        display.testDevice(new Mouse());
        display.testDevice(new KeyBoard());
        display.closeDevice();
    }
}
public class KeyBoard implements ITest{
    public KeyBoard() {
        super();
    }

    @Override
    public void openDevice() {
        System.out.println("打开键盘");
    }

    @Override
    public void closeDevice() {
        System.out.println("关闭键盘");
    }
    public void click() {
        System.out.println("敲击键盘");
    }
}
public class Mouse implements ITest{

    @Override
    public void openDevice() {
        System.out.println("打开鼠标");
    }

    @Override
    public void closeDevice() {
        System.out.println("关闭鼠标");
    }

    public void click() {
        System.out.println("点击鼠标");
    }
}
接口和抽象类的区别
  • 主要区别:在抽象类可以存在普通方法、普通成员,子类就不需要重写这些方法,而在接口中,则不存在普通成员,全是抽象方法,继承接口必须重写抽象方法。

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值