资讯专栏INFORMATION COLUMN

接口

Anleb / 2386人阅读

摘要:尽管编译器会自动给接口的成员加上固定修饰符,但是为了提高阅读性,还是建议加上修饰符。注意,由于接口中的方法固定修饰符都是的,当继承覆盖方法的时候必须也是的,否则无法完成覆盖。

接口中常见的成员

全局常量 public static final

抽象方法 public abstract

接口中所有成员的修饰符都是固定的,在定义接口的时候如果没有写上,编译器会自动加上,所以编译的时候也能通过。

interface Demo{
    int a = 9;
}

class Test {
    public static void main(String[] args){
        System.out.println(Demo.a); // 9
    }
}

a是publc staic final修饰的,所以可以使用类名调用。

尽管编译器会自动给接口的成员加上固定修饰符,但是为了提高阅读性,还是建议加上修饰符。

注意,由于接口中的方法固定修饰符都是public的,当继承覆盖方法的时候必须也是public的,否则无法完成覆盖。
子类可以实现接口,如果不实现接口的所有方法,可以将子类定义成抽象类。

一个类可以实现多个接口---多实现

interface A {
    public abstract void show();
}
interface B {
    public abstract void show();
}

class Test interface A,B{
    public void show(){  //该方法实现A,B中的两个方法,不需要实现两次
        ...
    }
}

接口与接口之间是继承关系,而且接口直接可以多继承

interface A{
}
interface B{
}
interface C extends A,B{
}

问题:为什么java接口的字段要定义成 static final的?
static:如果一个类实现了多个接口,就有可能出现重名变量,接口没有super,哪到底访问的是哪个变量呢?需要使用类名来区分变量,属于类的变量应该定义成static。
final: static的变量的类的,也就是所有实现了该接口的类公有的,如果不是final的,那么就有可能会被修改,class A 修改了之后class B得到的就是修改后的数据,这不安全。
简而言之,就是防重名,防修改。

注:上述内容如有理解不足或错误,忘请指出。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/67046.html

相关文章

  • 持续更新免费的API,做一个API的搬运工

    摘要:为了方便广大的开发者,特此统计了网上诸多的免费,为您收集免费的接口服务,做一个的搬运工,以后会每月定时更新新的接口。将长段中文切词分开。 为了方便广大的开发者,特此统计了网上诸多的免费API,为您收集免费的接口服务,做一个api的搬运工,以后会每月定时更新新的接口。有些接口来自第三方,在第三方注册就可以成为他们的会员,免费使用他们的部分接口。 百度AccessToken:针对HTTP ...

    Shihira 评论0 收藏0
  • 不用写代码,也能做好接口测试

    摘要:接口测试形式单个接口测试包含性能测试和通过接口调用进行场景测试。充分来说就是接口测试相对容易实现自动化持续集成。 本文你将了解到 1、接口测试基本概念,包含什么是接口,什么是接口测试,为什么要做接口测试2、接口测试用例设计3、怎样不用写代码,也能快速的根据开发的API文档完成接口自动化测试脚本 注:如果你对接口基本概念和接口测试用例已熟悉,可以直接跳过,其实看一遍也无防,就当作 温故知...

    idisfkj 评论0 收藏0
  • 12.java 接口

    摘要:接口的对象可以利用子类对象的向上转型进行实例化赋值。接口文件保存在结尾的文件中,文件名使用接口名。接口相应的字节码文件必须在与包名称相匹配的目录结构中。接口不能包含成员变量,除了全局常量定义。 概念 接口,在JAVA编程语言中是一个引用类型,是抽象方法的集合,接口通常以interface来声明。一个类通过继承接口的方式,从而来继承接口的抽象方法。 接口中只能包含抽象方法和全局常量。 接...

    pinecone 评论0 收藏0
  • Java 接口(9)

    摘要:接口和内部类为我们提供了一种将接口与实现分离的更加结构化的方法。 接口和内部类为我们提供了一种将接口与实现分离的更加结构化的方法。 1.抽象类和抽象方法 抽象类,是普通的类与接口之间的一种中庸之道. 抽象方法:仅有声明而没有方法体. 抽象类:包含抽象方法的类.如果一个类包含一个或多个抽象方法,该类必须被限定为抽象的. 如果从一个抽象类继承,并想创建该新类的对象,那么久必须为基类中的所...

    lncwwn 评论0 收藏0
  • Java 接口与抽象类方式实现类的扩展

    摘要:子类继承抽象类,并具体实现方法。抽象类的使用区别于具体类,抽象类无法直接创建抽象类对象,但是可以声明抽象类的变量,引用抽象类对应具体子类对象。接口优于抽象类中讨论到一条规则接口优于抽象类。接口声明能力,抽象类提供默认实现全部或部分方法。 接口 类,强调数据类型(自定义)的概念,在一些情况下,并不能反映对象以及对象操作的本质。有时我们关注的并非对象的类型,而是对象的能力。 接口声明一组功...

    neroneroffy 评论0 收藏0
  • 面向对象基本原则(1)- 单一职责原则与接口隔离原则

    摘要:面向对象基本原则单一职责原则与接口隔离原则面向对象基本原则单一职责原则与接口隔离原则面向对象基本原则里式代换原则与依赖倒置原则面向对象基本原则最少知道原则与开闭原则一单一职责原则单一职责原则简介单一职责原则的英文名称是,简称。 面向对象基本原则(1)- 单一职责原则与接口隔离原则 面向对象基本原则(1)- 单一职责原则与接口隔离原则面向对象基本原则(2)- 里式代换原则与依赖倒置原则面...

    lunaticf 评论0 收藏0

发表评论

0条评论

Anleb

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<