java 接口中 常量_讨论:Java 接口当中的 “常量接口”
Java接口当中有一个类型为常量接口,我在网上看到有些人不提倡使用这种方式。具体的原因也没怎么讲,但是在这里我还是想与大家讨论一下这个接口方式的使用。
希望有对此接口使用方式有深刻了解的网友能够多提意见:
今天朋友发来邮件谈起这种接口方式,说她写的程序当中的最后一句有错,让 我帮着看看:下面是这段程序的源码
interface Math
{
double PI=3.1415926;
}
class Arithmetic implements Math
{
double roudeArea(double radius)
{
return PI*radius*radius;
}
}
class Student
{
public static void main(String[] args)
{
Arithmetic a=new Arithmetic();
System.out.println(a.roudeArea(3));
System.out.println(Math.PI);
System.out.println(Arithmetic.PI);
System.out.println(a.PI);
}
}
我在eclipse里面看了,是一个警告原因就在于她用a.PI来取得常量值的方式的警告。
其实原因很简单,就是一个静态字段需要在一个静态方法中使用的警告。
看了这段代码后,我发现其实她使用常量接口的作用已经在实现了接口Maths的类中体现。就是我们可以在实现常量接口的类中直接使用常量而不必加上前面的对象,当然使用Math.PI也是对的,不过为了方便我们可以在这个类当中直接使用PI去代替它。
同样我们也可以使用类Arithmetic当中的PI,我们可以直接引用arithmetic.PI,但是我们不能够使用a.PI
类当中的常量定义对其它类来说是可见可用的:他的使用可以以 类名.常量名 即可
而接口当中:对其它类来说是不可见的,除非我们需要去实现这个接口,只有实现它我们才可以直接使用 常量名 的方式
常量接口当中定义的常量,在实现这个接口的类当中可以直接拿来使用。它里面没有相关属性和其它方法。还有一点就是:常量在使用起来更为简洁。
posted on 2006-08-02 15:41 水煮三国 阅读(1223) 评论(2) 编辑 收藏 所属分类: J2SE
java 接口中 常量_讨论:Java 接口当中的 “常量接口”相关推荐
- java 什么是内部类_讨论Java中的内部类是什么?
前言 内部类,讲完前面的特性,今天就讲下内部类这个用的比较多,出现频率挺高的知识点. what is that? 首先,顾名思义,内部类就是在类的内部,也就是类的类,嵌套在里面的.直接代码介绍,现一般 ...
- java写一段程序代表心情_讨论java初步学习的方法及心情
Java的重要性 Java语言的三大特点,面向对象.良好的跨平台性和健壮性,这三大特点使Java被广大编程人员接收并且使用.Java的核心机制有Java虚拟机和垃圾回收机制这两种,Java虚拟机通过解 ...
- java学习是什么_学习JAVA有什么作用?
1.可以做WEB系统,如网站,不过做网站就有点杀鸡用牛到了.用的最62616964757a686964616fe4b893e5b19e31333431343631多的就是用JAVA做管理系统,很容易维 ...
- java项目----教务管理系统_基于Java的教务管理系统
java项目----教务管理系统_基于Java的教务管理系统 2022-04-22 18:18·java基础 最近为客户开发了一套学校用教务管理系统,主要实现学生.课程.老师.选课等相关的信息化管理功 ...
- java 接口中 常量_在Java接口中怎样访问定义的常量呢?
java接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能).那么我们在Java接口中怎 ...
- JAVA中为什么要用接口定义编程_【Java公开课|为什么要用Java接口,这些内容你一定要搞清楚】- 环球网校...
[摘要]作为一门面向对象编程语言,Java吸收了C++语言的优点,也展现了其强大的一面,我们能在各个地方看到其功能强大和简单易用的两个特征,当然,也吸引了很多程序员的注意力,所以就有人想了解Java的 ...
- java借口不同程序_「JAVA」多态的灵魂,面向接口的程序设计,这才是你该懂得的接口(interface)...
Java面向对象之接口--interface 什么是接口 一般计算机中的接口分为硬件接口和软件接口.硬件接口:是指两个硬件设备之间的连接方式,既包括物理上的接口,还包括逻辑上的数据传送协议. 软件接口 ...
- java 是否含有日文_《JAVA编程思想》5分钟速成:第9章(接口)
第9章 接口 前言: 1.抽象类(abstract class)和接口(interface)有什么异同? 2.抽象的(abstract)方法是否可同时是静态的(static),是否可同时是本地方法(n ...
- C#接口中为什么不能像java那样使用static?
我印象中java里面的接口使用static final修饰的常量,不是成员方法,使用static修饰的method放在接口中是无意义的,接口是用来抽象的.... 与Java不同,C#中的接口不能包含域 ...
最新文章
- 3D点云重建原理及Pytorch实现
- 算法导论之贪心算法(Huffman编码和拟阵)
- winrar压缩工具
- php+compose+使用,docker使用 docker-compose配置PHP环境(php+nginx+mysql)及启动
- 数据结构--单链表single linked list(无表头哨兵)重写
- python如何查看有什么模块_在python中如何查看模块功能
- SLS控制台内嵌操作指南
- pytorch Embedding模块,自动为文本加载预训练的embedding
- JVM : VisualVM 排查内存泄漏的问题
- CEF3研究(四)之javascript集成
- Java虚拟机类加载机制--类加载的过程详解
- Javascript使用三大家族和事件来DIY动画效果相关笔记(六)
- C# 温故而知新:Stream篇(五)
- 木门锁孔合页综合加工机器
- ant app 心电监测_电话传输心电图监测在心血管疾病及远程医疗中的应用
- 此计算机未连接到网络.单击以连接,此计算机无法连接到家庭组win7
- 【山东seo】-淄博孔祥永seo技术分享博客
- 和平精英修改服务器内存,和平精英极限帧率怎么调 极限帧率修改攻略[多图]
- OpenCV显示MNIST中的手写图片
- 马氏距离进行离群值检测