接口(interface)

接口的使用
 * 1、接口使用interface来定义
 * 2、Java中,类和接口是并列结构。 
 * 3、如何定义接口,定义接口中的成员。
 * 
 *         3.1Jdk7及以前。只能定义全局常量和抽象方法。
 *             >全局常量:public static final的,但是书写时可以省略。
 *             >抽象方法:public Abstract 的形式。
 *         3.2JDK8:除了定义全局常量和抽象方法之外,还可以定义静态方法、默认方法(略)
 * 4、接口中不能定义构造器的!意味着接口是不可以实例化。
 * 
 * 5、Java开发中,接口通过让类实现(implements)的方式来实现。
 *             如果实现类中覆盖了接口中的所有抽象方法,则实现类就可以实例化。
 *             如果实现类中没有覆盖了接口中的所有抽象方法,则此实现类就仍然是一个抽象类。
 * 6、Java类可以实现多个接口 --->弥补了Java的多继承性。
 *     格式:class AA extends BB implements CC,DD,EE{
 * }
 * 
 * 7、接口与接口之间可以继承而且可以多继承。
 * 
 * ****************************************
 * 8、接口的具体使用,体现多态性
 * 8、接口实际上可以看作一种规范
 * 
 * 面试题:抽象类和接口有哪些异同?

 

 

 

public class InterfaceTest {
public static void main(String[] args) {
    System.out.println(Flyable.MAX_SPEED);
    System.out.println(Flyable.MIN_SPEED);
    Plane p1 = new Plane();
    p1.fly();
}
}
interface Flyable{
    //全局常量
    public static final int MAX_SPEED = 7900;
    public static final int MIN_SPEED = 1;
    
    
    //抽象方法
    public abstract void fly();
    
//    public abstract void stop();
    //省略了public abstract
    void stop();
    
}

interface Attackable{
    void attack();
}
class Plane implements Flyable{

    @Override
    public void fly() {
        System.out.println("通过引擎起飞");
        
    }

    @Override
    public void stop() {
        System.out.println("驾驶员减速");
        
    }
    
}
abstract class Kite implements Flyable{

    @Override
    public void fly() {
        // TODO Auto-generated method stub
        
    }
}
class Bullet extends Object implements Flyable,Attackable,CC{

    @Override
    public void attack() {
        // TODO Auto-generated method stub
        
    }

    @Override
    public void fly() {
        // TODO Auto-generated method stub
        
    }

    @Override
    public void stop() {
        // TODO Auto-generated method stub
        
    }

    @Override
    public void method2() {
        // TODO Auto-generated method stub
        
    }

    @Override
    public void method1() {
        // TODO Auto-generated method stub
        
    }

    @Override
    public void method3() {
        // TODO Auto-generated method stub
        
    }
    
}
//******************************
interface AA{
    void method1();
}
interface BB{
    void method2();
}
interface CC extends BB,AA{
    void method3();
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值