java 接口

接口是一种特殊的抽象类,接口只提供了方法的原形,当没有具体的方法实现。子类必须提供父类中抽象方法的实现方式。接口与抽象类一样,也能定义抽象的方法,并且接口中只能包含抽象的方法,不能有常量、初始化块和构造函数。就像手机模型,只是模型只是壳子

 

package text5;

interface Student1 {
    int clas = 0604;
    void learning();
    void eat();
    void sleep();
}

class Student implements Student1 {
public static void main(String[] args) {
    Student stu=new Student();
    stu.learning();
}
    @Override
    public void learning() {
        System.out.println("学生在学习");

    }

    @Override
    public void eat() {
        // TODO Auto-generated method stub
        System.out.println("学正在吃饭");
    }

    @Override
    public void sleep() {
        // TODO Auto-generated method stub
        System.out.println("学生在睡觉");
    }

}
View Code

 接口的方法都是抽象类,并没有方法具体的实现,接口中的方法必须由接口的实现类来实现。

java接口的归纳:

1.java接口中的成员变量,默认都是public,static,final型的,而对于public static final可以省略,接口中的成员变量为常量,建议全部使用大写,单词之间用"_"分隔

2.接口方法默认是public abstract型的,可省略,Java种方法没有方法体不能实例化

3.java接口中只能包含public static final类型的成员变量和public abstract 类型的成员方法

 

使用接口设计:

1.防盗门功能

2.手机功能

3.组装一台计算机

4.打印机打印

 

 

门有开关两种功能,锁有上锁开锁两功能,防盗门可以继承门同时继承锁么?

将门定义为抽象类,锁定义为接口,防盗门继承门,实现锁的接口

接口特性:

1.不可被实例化

2.实现类必须实现接口的所有方法

3.实现类可以实现多个接口

4.接口中的变量都为静态变量‘

 

防盗门是个门,is a 关系

防盗门有个锁:has a 关系

Door:

package Locker;

public abstract class Door {
    public abstract void open();
    public abstract void close();
}
View Code

TheftproofDoor;

package Locker;

public class TheftproofDoor extends Door implements Lock {

    @Override
    public void lockup() {
        // TODO Auto-generated method stub
        System.out.println("关锁");
    }

    @Override
    public void lockopen() {
        // TODO Auto-generated method stub
        System.out.println("开锁");
    }

    @Override
    public void open() {
        // TODO Auto-generated method stub
        System.out.println("开门");
    }

    @Override
    public void close() {
        // TODO Auto-generated method stub
        System.out.println("关门");
    }

}
View Code

Lock:

package Locker;

public interface Lock {
    void lockup();

    void lockopen();
}
View Code

Test;

package Locker;

public class Test {
    public static void main(String[] args) {
        TheftproofDoor door = new TheftproofDoor();
        door.close();
        door.lockup();
        door.lockopen();
        door.open();
    }

}
View Code

 

posted @ 2019-03-29 20:50  Hello_World2020  阅读(256)  评论(0编辑  收藏  举报