⑴ java中調用常量
問題一
在Java中,對象可以調用方法還可以調用常量,
對象.方法名();
對象.常量名回;
你的代碼中,x就相當答於類Constant類對象的屬性,而方法就相當於行為,
對象調用自己的行為,自己的屬性當然都是可以的,
問題二
你用int s=m.x也是可以的,相當於直接把x的值賦給了變數s
使用final定義變數,就使得變數變成了常量。
我也是一個菜鳥,有些地方講得不好,甚至有錯的地方希望大家給我指正,
這樣講,希望樓主可以聽懂,謝謝!
⑵ java 成員常量
是得, 非靜態內部類中不可以定義靜態成員。
非靜態內部類相當於實例變數,載入外部類的時候先載入靜態代碼屬性方法代碼塊然基森後才是其他對應的部分,如果此時實例返鋒碰變數中包含靜態代碼塊漏談 那麼我們到底改是怎麼個載入順序啦。
⑶ 如何在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子類中方法的一個常量怎麼調用
我真的看不出來model()中的三個pri值怎麼會不一樣。
為什麼不用select case來組織語句呢,那樣是不是更好一些?
model()方法中的pri只是if語句快中的局部變數,作用范圍只是限於所在的if語句內,所以,你在其他類中甚至在Ballei類中以及model()方法自己都無法訪問你在model()的if語句內定義的pri變數。
如果想訪問model()中的pri,最好將pri設置為類Ballei的變數,也就是field
⑸ 關於java中靜態常量的用法
java中, 靜態變數或方法使用關鍵字static來標識,它的所有權是整個類。所以在調用的時候是以類名+方法名來調用的。靜態變 量與靜態方法的使用是為了達到數據或方法共享的目的,從內存的角度來看,這種方式提高了內存的利用率。同樣的,在Java提供了這樣好的方法之後,同樣對靜態屬性的使用增添了一些限制,主要分為兩點:
1.在靜態方法中不可以調用非靜態方法;
2.在靜態方法中不可以使用this關鍵字。
此外,值得注意的是,如果在執行類時,希望先執行類的初始化程序,可以使用static定義一個靜態區域。如:
publicclassExample{
static{
//something
}
}
⑹ 如何實現Java介面中定義的常量
介面中的常量會被實做襲讓現該介面的類繼承並純局覆蓋,用類名.常量命在main()里調用,常量名本身可以禪桐在類的其他方法中直接使用
⑺ 在JAVA中,一個類A中的常量,不能在另一個類B中的case後用A的對象調用嗎為什麼
一個類中的變數作用租早域就是一個類中,所以一個類A中的常量,不能在褲態另一個類B中的case後用A的對象調用弊純雀
⑻ java介面中已經定義了常量,並且賦了初值,為什麼用類名直接調用會報錯。請詳細回答
此處報錯原因不是來不允許自你訪問,而是無效的操作符,也就是說,如果你改為
String name=MyInterface.MAX_GRADE;就不會出問題
你取出介面中的常量,應該去做什麼,而不是直接取出就什麼都不做了!
⑼ java類實例化調用類中常量
NewClassnjf=newNewClass();
Stringa="a="+njf.s;
這個地方你自己重新new出來一個,實例變數s初始化為222,與前面你在main方法裡面造出來的對象是兩碼事,所以值還是222。我的解釋並不清楚,好好看類和對象的關系。
⑽ java中如何定義常量
在Java中定義常量可以通過普通類中使用static final修飾變數的方法。
final關鍵字使用的范圍。這個final關鍵字不僅可以用來修飾基本數據類型的常量,還可以用來修飾對象的引用或者方法。如數組就是一 個對象引用。為此可以使用final關鍵字來定義一個常量的數組。這就是Java語言中一個很大的特色。
一旦一個數組對象被final關鍵字設置為常量數 組之後,它只能夠恆定的指向一個數組對象,無法將其改變指向另外一個對象,也無法更改數組(有序數組的插入方法可使用的二分查找演算法)中的值。
關於Java中的常量:
final:一個常量,或不能覆蓋的一個類或方法。
interface:介面,一種抽象類型,僅有方法和常量的定義