美文网首页
Java接口中的成员变量为什么必须声明为public stat

Java接口中的成员变量为什么必须声明为public stat

作者: RoboyCore | 来源:发表于2017-01-17 17:34 被阅读118次

我想对于每个Java程序员来说,接口都不陌生,接口中的方法也经常使用。而接口中的成员变量,就显得用得少一点,
而对于成员变量为什么必须声明为public static final,可能就更不清楚了,而且我觉得大多数不清楚为什么要用
static 和 final。下面我们就来解释一下。

一、为什么要用final?

首先,我们应该明白一个问题。接口,实际上比抽象类更加抽象,它是最高层次的抽象。接口中的所有方法都是抽象方法,不会有任何实现方面的代码,而它
的具体实现是要靠实现这个接口的具体类来具体实现的。而且,这个接口中的方法是不可更改的。同样的,接口中的变量也是不可更改的。所以,要声明为
final。

接口是一种协议,协议是所有实现接口的类都必须遵守的。如果变量不是final,那么每个实现接口的类就可以更改这个变量的值,也就违反了OCP原则。

二、为什么要用static?

至于这个问题,是和Java
言的本身机制有关。我们知道Java不支持多继承,但是一个类可是现实多个接口。我们假设有两个接口A和B,而类C实现了接口A和B。假设,此时,A和B
中都有一个变量N,如果N不是static类型的,那么在C中该如何区分N到底是A的还是B的呢?而,如果是static类型的,我们可以通过A.N和
B.N来区别调用A或者B中的成员变量N。

出处来自http://blog.csdn.net/qiumengchen12/article/details/44852023#

相关文章

  • Java接口中的成员变量为什么必须声明为public stat

    我想对于每个Java程序员来说,接口都不陌生,接口中的方法也经常使用。而接口中的成员变量,就显得用得少一点,而对于...

  • 6.3接口的常量定义和使用

    接口中也可以定义“成员变量”,但必须使用public static final 三个关键字进行修饰,从效果上看是接...

  • 02.接口的成员特点

    接口中成员的特点 接口中可以定义变量,但是变量必须有固定的修饰符修饰,public static final 所以...

  • 2019-04-08

    子类能够继承父类中被声明为public和protected的成员变量和成员方法,但不能继承被声明为private的...

  • java面试关键字static

    笔试题目一:为什么对于一个public类型的终态的成员变量,一般都要声明为static?例如:public sta...

  • 单例模式

    接口中声明的方法都是抽象方法。接口中的方法都是public的。 接口也可以定义成员变量。接口中的成员变量都是pub...

  • C++与Java的异同

    属性 C++ 中public/privite : 修饰成员属性、成员变量、成员方法。而Java中public修饰词...

  • 实例变量和类变量

    一、定义 1、成员变量:把类内、方法体外定义的变量称为成员变量。 Java中的成员变量分为两种: 一是没有stat...

  • Kotlin-简约之美-进阶篇(十八):与Java的较量

    @[toc]在Java当中一些常量通常情况下都是定义在接口当中,默认情况下所有的成员变量都是public stat...

  • 4.类及其成员的可见性

    java中的成员变量默认是default,kotlin是public对比java kotlinjavaprivat...

网友评论

      本文标题: Java接口中的成员变量为什么必须声明为public stat

      本文链接:https://www.haomeiwen.com/subject/gfambttx.html