interface关键字 接口 day09

/*
    java提供了一个关键字:interface,用来定义一个接口
    接口的主要作用是用来描述类的额外功能的。

    定义一个接口的语句定义格式:
    interface 接口名{

    }

    需求:定义一个普通的狗类,和一个会骑车的狗类

    使用接口的注意事项:
        1、接口中只能出现抽象方法,不能写具体的方法
        2、一个具体的类实现接口的话,需要使用关键字:implements
        3、若一个具体的类实现接口的时候,必须要实现接口中所有的抽象方法
        4、一个具体的类可以同时实现多个接口,但是必须要所有的抽象方法
        5、抽象也可以实现一个或多个接口


 */
/*
    接口与接口之间是继承关系:
        一个可以继承若干个接口,可以多继承。

    面试题:java中允许多继承吗?
        1、类与类之间只允许单继承,不允许多继承,但是可以多层继承,形成继承体系
        2、接口与接口允许多继承
 */
/*
    接口中成员的特点:
        成员变量:
            接口中的变量默认都是被添加了修饰符:public static final
            换句话说,接口中只允许出现常量
        构造方法:
            接口中没有构造方法,自己写都不行,接口不能实例化
        成员方法:
            接口只能是抽象方法,默认会在方法前加上修饰符:public abstract
 */


interface Inter1{
//    Inter1(){
//
//    }
    public static final int a = 10;

    public abstract void fun1();
}

class Inter1Impl implements Inter1{
   public void fun1(){
//       a = 100; // java: 无法为最终变量a分配值
       System.out.println(a);
   }
}

public class InterfaceDemo3 {
    public static void main(String[] args) {
//        Inter1Impl inter1 = new Inter1Impl();
//        inter1.fun1();
        System.out.println(Inter1.a);

//        Inter1 inter1 = new Inter1();
    }
}


interface StudentDao{
    public abstract void insert();
    public abstract void delete();
    public abstract void update();
    public abstract void select();
}

//一般来说给实现类起名字的时候,是: 接口名Impl
class StudentDaoImpl implements StudentDao{

    @Override
    public void insert() {

    }

    @Override
    public void delete() {

    }

    @Override
    public void update() {

    }

    @Override
    public void select() {

    }
}
posted @ 2024-08-05 22:43  ていせい  阅读(4)  评论(0编辑  收藏  举报