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。

  • 相关阅读:
    P3833 [SHOI2012]魔法树 (树链剖分模板题)
    2019 Multi-University Training Contest 4 1008K-th Closest Distance(二分+主席树)
    bzoj3631: [JLOI2014]松鼠的新家(树上差分)
    bzoj4326: NOIP2015 运输计划(二分+LCA+树上差分)
    目录
    希望是一个全新的开始
    模板
    模板
    SCUT
    模板
  • 原文地址:https://www.cnblogs.com/zpchcbd/p/11877320.html
Copyright © 2011-2022 走看看