`
aerchi
  • 浏览: 424168 次
  • 性别: Icon_minigender_1
  • 来自: 昆明
文章分类
社区版块
存档分类
最新评论

JAVA接口中的变量

 
阅读更多

首先你要弄清接口的含义.接口就是提供一种统一的'协议',而接口中的属性也属于'协议'中的成员.它们是公共的,静态的,最终的常量.相当于全局常量.

抽象类是不'完全'的类,相当于是接口和具体类的一个中间层.即满足接口的抽象,也满足具体的实现. 如果接口可以定义变量,但是接口中的方法又都是抽象的,在接口中无法通过行为来修改属性。有的人会说了,没有关系,可以通过实现接口的对象的行为来修改接口中的属性。这当然没有问题,但是考虑这样的情况。如果接口A中有一个public访问权限的静态变量a。按照java的语义, 我们可以不通过实现接口的对象来访问变量a,通过A.a = xxx;就可以改变接口中的变量a的值了。正如抽象类中是可以这样做的,那么实现接口A的所有对象也都会自动拥有这一改变后的a的值了,也就是说一个地方改变了a,所有这些对象中a的值也都跟着变了。这和抽象类有什么区别呢,怎么体现接口更高的抽象级别呢,怎么体现接口提供的统一的协议呢,那还要接口这种抽象来做什么呢?所以接口中不能出现变量,如果有变量,就和接口提供的统一的抽象这种思想是抵触的。所以接口中的属性必然是常量,只能读不能改,这样才能为实现接口的对象提供一个统一的属性。

通俗的讲,你认为是要变化的东西,就放在你自己的实现中,不能放在接口中去,接口只是对一类事物的属性和行为更高层次的抽象。对修改关闭,对扩展(不同的实现implements)开放,接口是对开闭原则的一种体现。

在interface里面的变量都是public static final 的。所以你可以这样写:
public static final int i=10;
或则
int i=10;(可以省略掉一部分)

注意在声明的时候要给变量赋予初值

分享到:
评论

相关推荐

    【Java基础】Java8新特性—接口中使用default和static关键字

    接口中的变量默认类型是public static final,也是就是说是 公有静态常量 。 而方法默认是public abstract,公有抽象方法,但是事实真的是这样吗? 一.新特性 Java 1.8对接口有两个方面的增强:接口中可以添加使用...

    Java SE编程入门教程 java入门以及变量debug(共63页).pptx

    Java SE编程入门教程 java接口(共21页).pptx Java SE编程入门教程 java类和对象方法以及包的使用(共56页).pptx Java SE编程入门教程 java类和对象方法以及包的使用(共62页).pptx Java SE编程入门教程 java判断...

    Java基础 接口.pdf

    Java接口概念 Java编程语言中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明。一个类通过继承接口的方式,从而来继承接口的抽象方法。 Java接口主要有以下特点 1、接口中的所有方法都是抽象的,不能...

    JAVA_API1.6文档(中文)

    java.security.interfaces 提供的接口用于生成 RSA Laboratory Technical Note PKCS#1 中定义的 RSA(Rivest、Shamir 和 Adleman AsymmetricCipher 算法)密钥,以及 NIST 的 FIPS-186 中定义的 DSA(数字签名算法)...

    NDKC调用Java函数传参或获取变量

    C/C++获取Java的全局变量: 获取int类型和String类型变量并重新赋值: https://blog.csdn.net/niuba123456/article/details/80990063 获取静态变量: https://blog.csdn.net/niuba123456/article/details/80990237

    D11接口,多态.zip_d11接口_java接口_mannerglc_多态

    接口是功能的集合,同样可看做是一种数据类型,是比抽象类更为抽象...Java中多态的代码体现在一个子类对象(实现类对象)既可以给这个子类(实现类对象)引用变量赋值,又可以给这个子类(实现类对象)的父类(接口)变量赋值。

    Java SE编程入门教程 java接口(共21页).pptx

    Java SE编程入门教程 java接口(共21页).pptx Java SE编程入门教程 java类和对象方法以及包的使用(共56页).pptx Java SE编程入门教程 java类和对象方法以及包的使用(共62页).pptx Java SE编程入门教程 java判断...

    Java中抽象类和接口的区别

    1.abstract class 在 Java 语言中表示的是一种继承关系,一个类只能使用一次继承关系。但是,一个类却可以实现多个interface。  2.在abstract class 中可以有自己的数据成员,也可以有非abstarct的成员方法,而在...

    使用swig将C代码转为JAVA接口的例子(Win10平台)

    配置环境变量JAVA_BIN和JAVA_INCLUDE。比如: JAVA_BIN:C:\Program Files\Java\jdk-12.0.2\bin JAVA_INCLUDE:C:\Program Files\Java\jdk-12.0.2\include 进入Examples\java\simple目录,用VS2019打开example.dsp。...

    数据库与Java接口程序

    Oracle 10g 的 JDBC 驱动程序在目录 C:\oracle10g\product\10.2.0\...配置环境变量CLASSPATH,将C:\oracle10g\product\10.2.0\db_1\jdbc\lib\classes12.jar 加入到CLASSPATH末尾;编写JAVA程序,操作 Oracle 10g 数据库;

    JavaAPI1.6中文chm文档 part1

    java.security.interfaces 提供的接口用于生成 RSA Laboratory Technical Note PKCS#1 中定义的 RSA(Rivest、Shamir 和 Adleman AsymmetricCipher 算法)密钥,以及 NIST 的 FIPS-186 中定义的 DSA(数字签名算法)...

    Java 1.6 API 中文 New

    java.security.interfaces 提供的接口用于生成 RSA Laboratory Technical Note PKCS#1 中定义的 RSA(Rivest、Shamir 和 Adleman AsymmetricCipher 算法)密钥,以及 NIST 的 FIPS-186 中定义的 DSA(数字签名算法)...

    jdk_api_1.8-JAVA中文版API手册

    5)我们可以直接在lambda表达式中访问外层的局部变量。 2.适用人群 英语阅读能力较弱、喜欢阅读中文文档,对jdk源码原生api感兴趣的人。 3.适用场景 适用初学、工作中翻阅等 4.其他说明 不可随意传播哦

    JAVA-微讲堂01环境变量-陈冬

    第三课:认识JAVA中的变量 第三课:理解类与对象 第三课附加:值传递和对象传递 第四课:继承 第五课:多态 第六课:接口 第七课:封装 第七课:集合 第八课:泛型 第九课:XML 第十课:多线程 第十一课:socket 第...

    Java做的淘客助手,快速生成淘宝口令,免费使用,支持淘宝客们赚大钱,

    Java做的淘客助手,快速生成淘宝口令,免费使用,支持淘宝客们赚大钱,配上淘宝客导购系统,很方便的直达手机端进行推广。

    java中的接口概略

    接口是Java中的很重要的一个知识点,首先我们要初步了解从生活中了解“接口”的概念,什么是接口? 1. 生活中的接口 生活中比较常见的接口: USB接口,国标插座,Type-C, 3.5MM, ARJ45, Lighting接口, HDMI, VGA, ...

    java api最新7.0

    java.security.interfaces 提供的接口用于生成 RSA Laboratory Technical Note PKCS#1 中定义的 RSA(Rivest、Shamir 和 Adleman AsymmetricCipher 算法)密钥,以及 NIST 的 FIPS-186 中定义的 DSA(数字签名算法)...

    Java开发技术大全(500个源代码).

    localVSmember.java 局部变量与成员变量同名问题示例 onlyTest.java 对象传值示例 otherClass.java 从类的外部访问对象的成员 showInstVar.java 演示不同的对象拥有不同的成员变量 showMain.java 演示main方法...

    反射修改私有成员变量例子

    利用java反射机制修改类的私有成员的例子,如果需要了解反射机制的可以参考下。

Global site tag (gtag.js) - Google Analytics