zoukankan      html  css  js  c++  java
  • java接口的成员变量的修饰符

    前言:c++学的java都忘记了不少

    interface(接口)可将其想象为一个"纯"抽象类。它允许创建者规定一个类的基本形式:方法名、自变量列表以及返回类型,但不实现方法主体

    接口也可包含基本数据类型的数据成员,但它们都默认为publicstaticfinal

    接口中定义的方法默认为publicabstract

    为什么Java接口中的成员变量默认为(public、static、final)、成员方法为(public、abstract)呢?

    原因:接口是一种高度抽象的模版,接口中的成员变量是模版的一部分,其接口的实现类必须共有这些成员变量,所以成员变量的修饰符默认为public、static、final。static使得实现这个接口的类,可以直接使用这个变量。

    如果是非静态变量,那么接口的多个实现类可能出现变量名重名的现象。

    final表示被修饰的变量为常数,不可以修改。一个既是static又是final的字段表示只占据一段不能改变的存储空间。如果是非final变量,那么接口的实现类可以修改变量的值,这与抽象类没有区别了。

    由于接口起到标准化和规范化的作用,所以其成员变量默认修饰符为static、final。

  • 相关阅读:
    2017寒假练习赛总结(实时更新)
    NOIP
    挖坑--总结
    BZOJ3709: [PA2014]Bohater
    BZOJ3714: [PA2014]Kuglarz
    BZOJ2276: [Poi2011]Temperature
    VIJOS P1543极值问题
    BZOJ2749: [HAOI2012]外星人
    BZOJ2173: 整数的lqp拆分
    BZOJ1100: [POI2007]对称轴osi
  • 原文地址:https://www.cnblogs.com/zpchcbd/p/11877320.html
Copyright © 2011-2022 走看看