java编程思想 -- 接口

这里接口指抽象类还有interface接口

java抽象类

定义:使用了关键词abstract声明的类叫作“抽象类”。如果一个类里包含了一个或多个抽象方法,类就必须指定成abstract(抽象)。“抽象方法”,属于一种不完整的方法,只含有一个声明,没有方法主体。

特性

抽象类为子类提供了通用的接口,但是本身不能实例化。子类需要实现抽象方法变成非抽象类,才能实例化。

interface接口

定义

在JAVA编程语言中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明。一个类通过继承接口的方式,从而来继承接口的抽象方法

特性

(1)interface接口中定义的方法默认是(也只能是)public的。
(2)interface接口中定义的字段是默认是(也只能是)public,static,final的。字段不能为
(3)interface接口不能是空final,但是可以被非常量表达式初始化。
举例:

public interface Animal {
    //The blank final field name may not have been initialized
    //String name;

    //public static final 的,SEX不会再发生改变了
    String SEX = null;

    //使用非常量表达式初始化。
    int AGE = new Random().nextInt(50);
}

特殊情况

实现的多个接口中,方法签名完全一样

程序正常运行

public class Test implements IA, IB{

    public static void main(String[] args) {
        new Test().f();
    }

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

interface IA{
    void f();
}

interface IB{
    void f();
}

运行结果是
f()

所以程序正常运行。

实现的多个接口中,方法名和参数列表相同,返回值不同

这类情况不能通过编译

public class Test implements IA, IB, IC{

    public static void main(String[] args) {
        new Test().f();
    }

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

interface IA{
    void f();
}

interface IB{
    void f();
}

interface IC{
    int f();
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值