导航:首页 > 编程语言 > java接口常量定义

java接口常量定义

发布时间:2022-09-04 11:29:29

Ⅰ 如何实现java接口中定义的常量

接口中的常量会被实现该接口的类继承并覆盖,用类名.常量命在main()里调用,常量名本身可以在类的其他方法中直接使用

Ⅱ Java如何定义常量

java没有叫全局变量的东西(有全局变量还叫OO吗?);原因:Java将所有设计都基于对象的基础上。Java的全局变量只能对一个类内部而言。能够在类内的任何地方使用的变量就是全局变量,而只在某个特定的函数或者局部的程序块内使用的变量则是局部变量。
所以:声明为static的变量实质上就是全局变量。当声明一个对象时,并不产生static变量的拷贝,而是该类所有的实例变量共用同一个static变量。
使用:java中只有static和非static变量,这个属于每个类的,如果需要全局变量比如PI(3.14...),可以写一个类Math,定义static变量PI,调用Math.PI就可以使用了,这样就达到我们使用全局变量的目的了。
1、将一个 package 中需要的常量集中到一个 XyzConstants 之类的 interface 里声明,
就像普通的 field 那样声明就行了。

复制代码代码如下:

public interface SomeConstants {
public intPORT = 80;
public String IP = "166.111.16.1";
public boolean test = true;
}

就可以。
用到常量的类 implements 这个接口 .. 简单情况这样就行乐。

2、更 formal 的做法是写一个类维护所有的常量,负责从配置文件(例如properties文件或xml文件)读取所有的常量的值。
可以在一个 static {} 块里从配置文件中初始化所有 static 的变量。 这样有利于提高软件的可配置性。改些东东不用动代码,比较好。
最好要有 config Tool 负责写配置文件。
3.其他说明:
定义一个公开类,在里面加static 变量。

复制代码代码如下:

public class infos{
private infos(){
}
public static int PORT = 80;
public static String IP = "166.111.166.111";
public static boolean test = true;
public static final String MYNAME="zzz"; //定义中用了final,就是不能改变的。
}

在别的class中调用这些变量就是: infos.PORT,infos.IP,infos.test,infos.MYNAME
多个class交互时可以通过改变这些变量的值来传递信息。比如 infos.test被别的class改成了false,可能表示某一件事已经失败或已经做过,其它class就可以提前知道这些信息。

其中infos.MYNAME被定义为了final,即成为常量。用final修饰的成员变量表示常量,值一旦给定就无法改变!

Ⅲ java的接口中为什么只能定义常量不能定义变量

接口是高一级别的抽象。不能被实例化,所以只能定义常量,默认常量是public static final 的
定义了变量需要实例化,赋值才能使用,跟接口违背

Ⅳ .Java接口中如何定义常量

用final关键字
public static final 类型 常量命 = 值

Ⅳ 关于java中接口定义常量和类定义常量的区别

接口常量修饰格式固定的,public final 必不可少,你不写,他也自动补全!
类的常量没这个特殊要求,看情况定;
接口常量只有子类实现后才可以使用!
类常量,创建实例就可以用,也或者静态调用!

Ⅵ java中如何定义常量

1、java中使用final和static关键字定义常量。首先打开编辑器,编写代码。当常量作为一个类的变量时,一定要给它赋值,否则编译会失败的。然后定义一个YEAR的常量,用来表示年,一年365天是固定的,这里习惯上大写,然后赋值为365:

Ⅶ 如何在Java中定义常量

首先看示例:
/**
* Method One
*/
interface ConstantInterface {
String SUNDAY = "SUNDAY";
String MONDAY = "MONDAY";
String TUESDAY = "TUESDAY";
String WEDNESDAY = "WEDNESDAY";
String THURSDAY = "THURSDAY";
String FRIDAY = "FRIDAY";
String SATURDAY = "SATURDAY";
}
/**
* Method Two
*/
enum ConstantEnum {
SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY
}
/**
* Method Three
*/
class ConstantClassField {
public static final String SUNDAY = "SUNDAY";
public static final String MONDAY = "MONDAY";
public static final String TUESDAY = "TUESDAY";
public static final String WEDNESDAY = "WEDNESDAY";
public static final String THURSDAY = "THURSDAY";
public static final String FRIDAY = "FRIDAY";
public static final String SATURDAY = "SATURDAY";
}
/**
* Method Four
* http://www.ibm.com/developerworks/cn/java/l-java-interface/index.html
*/
class ConstantClassFunction {
private static final String SUNDAY = "SUNDAY";
private static final String MONDAY = "MONDAY";
private static final String TUESDAY = "TUESDAY";
private static final String WEDNESDAY = "WEDNESDAY";
private static final String THURSDAY = "THURSDAY";
private static final String FRIDAY = "FRIDAY";
private static final String SATURDAY = "SATURDAY";
public static String getSunday() {
return SUNDAY;
}
public static String getMonday() {
return MONDAY;
}
public static String getTuesday() {
return TUESDAY;
}
public static String getWednesday() {
return WEDNESDAY;
}
public static String getThursday() {
return THURSDAY;
}
public static String getFirday() {
return FRIDAY;
}
public static String getSaturday() {
return SATURDAY;
}
}
public class TestConstant {
static final String day = "saturday";
public static void main(String[] args) {
System.out.println("Is today Saturday?");
System.out.println(day.equalsIgnoreCase(ConstantInterface.SATURDAY));
System.out.println(day.equalsIgnoreCase(ConstantEnum.SATURDAY.name()));
System.out.println(day.equalsIgnoreCase(ConstantClassField.SATURDAY));
System.out.println(day.equalsIgnoreCase(ConstantClassFunction
.getSaturday()));
}
}

方法一采用接口(Interface)的中变量默认为static final的特性。
方法二采用了Java 5.0中引入的Enum类型。
方法三采用了在普通类中使用static final修饰变量的方法。
方法四类似方法三,但是通过函数来获取常量。

首先定义全局变量似乎有违Java的面向对象的封装特性,增加的耦合。所以最佳的方法是避免定义全局变量。如果是参数等,可以写入配置文件。如果实在是必须的,方法二是最为推荐的。方法三是大家都能想到的,非常的直观。方法一和方法三本质上一样。方法四提供了灵活性,具体参考引用【1】。

Ⅷ Java 接口常量反模式及如何定义 Java 常量

其实 Java 的接口常量是一种反模式,理由如下:
1. 接口是不能阻止被实现或继承的,也就是说子接口或实现中是能够覆盖掉常量的定义,这样通过父,子接口(或实现) 去引用常量是可能不一致的
2. 同样的,由于被实现或继承,造成在继承树中可以用大量的接口, 类 或实例去引用 同一个常量,从而造成接口中定义的常量污染了命名空间。(Java 编译器竟然允许使用实例去引用类变量)
3. 接口暗含的意思是:它是需被实现的,代表着一种类型,它的公有成员是要被暴露的 API。而在接口中定义的常量说不上是 API

Ⅸ java接口中可以定义常量变量吗

java接口中的类字段全部为常量,定义的方法全部为抽象方法。

阅读全文

与java接口常量定义相关的资料

热点内容
pdf如何把文字去掉 浏览:591
秦昊的癌症的电影 浏览:294
电脑课上python装代码 浏览:486
可以看那种视频的在线网页 浏览:160
算式1256x56的简便算法 浏览:472
西安家电维修用什么app 浏览:245
服务器如何邀请好友进去 浏览:947
java栈队列区别 浏览:99
公共电影什么意思 浏览:347
港澳电影大胸美女古装剧 浏览:396
王牌战争怎么玩别的服务器 浏览:994
stata画散点图命令 浏览:123
伊波拉病毒全部女演员 浏览:873
华为20升级方舟编译器 浏览:370
android代码中设置图片 浏览:790
pdfmidi 浏览:870
云服务器实例规格有哪些 浏览:529
视觉原理pdf 浏览:923
文件夹应该保存在哪里 浏览:778
汽车app行业怎么样 浏览:454