日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java 常量接口_java接口定义常量研究

發布時間:2023/12/2 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java 常量接口_java接口定义常量研究 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

背景

和同事討論到,在接口中定義常量的問題,引發了爭論,即,假如在接口中定義變量,是否需要用static來限定的問題,或者說用static和不用static會有什么區別。

引論

package spring.interfaceTest;

public interface IAnimal {

//定義成靜態變量

public static int num = 10;

//定義成非靜態變量

public int num2=20;

}

即上述的常量定義,到底哪個是正確的。

接口的定義

接口(英文:Interface),在JAVA編程語言中是一個抽象類型,是抽象方法的集合,接口通常以interface來聲明。一個類通過繼承接口的方式,從而來繼承接口的抽象方法。

引用某位學者定義,interface即標準;即interface用于定義一個通用行的標準,因而interface并不會為某個特殊的類進行定義接口或者變量。那么interface是沒有成員變量的,即interface定義的變量針對所有類均生效,因此變量是static的。

所以上面的定義,public static int num = 10;和public int num = 10;是等價的。

討論1

interface的public是否必須?聲明成private會怎么樣?

如上面描述,interface是標準,標準是給別人用的,定義成private是沒有意義的。所以interface默認就是public。

因此

private void saying();

定義這么個方法,直接編譯器會報錯的。

討論2

是否可以嵌套定義內部接口

public interface IAnimal {

interface data{

int num1=1;

int num2=2;

};

}

調用

@Test

public void testDog(){

System.out.println(IAnimal.data.num1);

}

經過驗證可以使用,參參照標準的定義,不難理解,只是標準嵌套標準而已,在大標準下有一個小標準。

討論3

類里是否可以定義接口?

同理可得,將接口如果定義在類里面,也是具有同樣的作用,相當于一個類持有了一個標準,那么整個類的實例都將持有這個標準。

package spring.interfaceTest;

public class Dog {

interface data{

int num1=1;

int num2=2;

};

}

同理可以使用

總結

interface作為一種標準,本身就是static,為所有類共同使用,因此不存在歸屬interface本身或者單獨為某個類定義的變量或者方法

總結

以上是生活随笔為你收集整理的java 常量接口_java接口定义常量研究的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。