我的java学习日记(五)interface

接口interface

在软件工程中,接口interface泛指供别人调用的方法或函数,与抽象类不同,接口中所有的方法都是抽象的,只有声明,没有方法体。真正的实现是在继承这个接口的类的方法体里面完成。

接口中的变量会被隐式指定为public static final变量。

方法会被饮食指定为public abstract方法。

接口中的所有方法都不能有具体的实现。即接口中的方法必须是抽象的方法。

一般情况下不在接口中定义变量。

另外,接口还能继承接口,(可以多继承)

接口示例

package interface_study;

public interface Runner
{
    int id=1;//==public final static int id =1//默认为静态公共变量
    public void start();//==public abstract void start();//默认为抽象类
    public void run();
    public void stop();
}

接口的实现方法:

public class [name] implements [interface name]{}

例如:

package interface_study;

public class Demo5_4 implements Runner
{
    @Override
    public void run() {
        System.out.println("running");
    }

    @Override
    public void start() {
        System.out.println("starting");
    }

    @Override
    public void stop() {
        System.out.println("stopped");
    }

    public static void main(String[] args) {
        Demo5_4 a;
        System.out.println(id);//静态变量
//        id=2;/* fianl 类 *///无法将值赋给 final 变量 'id'//确认是final变量。
      //所以说一半不在接口中定义变量。。。定义出来的都是fianl的。
        a=new Demo5_4();
        a.run();
        a.stop();
        a.start();
    }
}

运行结果:

/Users/Admin/Library/Java/JavaVirtualMachines/openjdk-15.0.2/Contents/Home/bin/java -javaagent:/Applications/IntelliJ IDEA.app/Contents/lib/idea_rt.jar=55387:/Applications/IntelliJ IDEA.app/Contents/bin -Dfile.encoding=UTF-8 -classpath /Users/Admin/IdeaProjects/study/out/production/study interface_study.Demo5_4
running
stopped
starting

进程已结束,退出代码为 0

接口抽象类
成员变量为public static final型的成员变量可以是各种类型的
成员方法只能是抽象方法成员方法可以是抽象方法也可以是非抽象方法
不能有静态代码块和静态方法可以有静态代码块和静态方法
一个接口可以继承多个父类接口,一个类可以实现多个接口一个类只能继承一个抽象类,不能使用多继承
接口是对行为的抽象,与实现的类之间呈现的是具备与否的关系,不存在层次关系抽象类是对整个类整体进行抽象,包括属性,行为,和派生的子类之间是一种层次关系
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值