/*
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() {
}
}
标签:day09,void,Inter1,接口,abstract,关键字,interface,public
From: https://www.cnblogs.com/qiwei-bigdata/p/18344165