java接口

 

抽象类主要是对类本身进行抽

接口是对方法进行抽象

接口以interface来声明,一个类通过继承接口的方式从而实现继承接口的抽象方法

1 创建接口:

interface A{
    int age = 10;
    void fun1();//不能有具体的实现
}
interface B{
    int b = 100;
    void fun2();
}

接口中的方法不能是普通方法,不能有具体的实现

 

2 可以实现多个接口

class C implements A,B{

    @Override
    public void fun1() {
        System.out.println("A.fun1");
        
    }

    @Override
    public void fun2() {
        
        System.out.println("B.fun2");
    }
    
}
3 接口不能通过new来实例化(如A a = new A();但可以通过向上转型创建出a b对象
public
static void main(String[] args) { C c = new C();//派生类 c.fun1(); A a = c;//向上转型 a.fun1(); B b = c; b.fun2(); }

4  接口的继承

//接口的继承
/*interface Mobike{
    public void scan();
}

interface Ofo{
    public void hand();
}

abstract class Bike{
    public abstract void fun1();
}

class FlyingDove extends Bike implements Mobike,Ofo{

    @Override
    public void hand() {
        System.out.println("Ofo.hand()");
    }

    @Override
    public void scan() {
        System.out.println("Mobike.scan()");
    }

    @Override
    public void fun1() {
        System.out.println("Bike.fun1");
    }
    
}

5   接口与接口之间也可以继承

interface A{
    public void fun1();
}

interface B{
    void fun2();
}
//接口和接口之间可以继承

interface C extends A,B{
    public void fun3();
}

class X implements C{

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

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

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

接口的简单例子:报警门

interface Alarm{
    public void alarm();
}

abstract class Door{
    public abstract void open();
    public abstract void close();
}
class AlarmDoor extends Door implements Alarm{

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

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

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

 

接口和抽象类的区别:

 接口和抽象类的区别:::
 *     接口可以被实现多个(继承--解决了Java的单继承的问题)   抽象类只能被继承一个
 *     抽象类可以拥有非抽象方法   接口内都是抽象方法   
 *  接口的数据成员变量都是public static final             成员方法为public abstract
 *  接口是对行为的一种抽象  抽象类本身是对类整体的抽象

 

posted on 2018-05-25 09:46  番茄疯了  阅读(96)  评论(0)    收藏  举报