導航:首頁 > 編程語言 > java定義靜態類

java定義靜態類

發布時間:2022-09-20 22:47:29

java裡面不允許聲明類為靜態的嗎

不可以聲明類為靜態類的。

解釋:靜態類是沒有實際意義的,而且運行初始化還要佔用大量內存,而且假如有靜態類,不能被重寫,不能被創建,沒啥實際意義。

Ⅱ java 靜態類是什麼意思 有什麼特點

java沒有直接的靜態類這種東西,一個類可以為static的情況只是他作為另一個類的成員,static表明他可以不用建立實例被訪問而已,這樣的內部類完全沒有內部類的特點
1 內部類可以訪問所在外部類的成員變數和方法,而靜態內部類卻不能
2 內部類可以使用Outter.this作為外部類引用,但靜態內部類不能使用
3 靜態內部類就如同外部類的一個靜態成員,他只能訪問外部類的靜態成員和靜態方法
4 在外部類外必須使用Outter.Inner外部類名和內部類名都要使用,樓上所說的不需要建立對象, 指的是不需要建立外部類實例,
比如BigOuter.Nested n = New BigOuter.Nested();

Ⅲ java 有沒有靜態類

java有靜態內部類
Java語言允許在類中再定義類,這種在其它類內部定義的類就叫內部類。內部類又分為:常規內部類、局部內部類、匿名內部類和靜態嵌套類四種。

Ⅳ java 外部類可以定義成靜態類嗎,如果可以,它會起到什麼作用呢

靜態類只用於包含靜態成員的類型,它既不能實例化,靜態類的特性是防止繼承,防止外部來NEW。它相當於一個sealed abstract類。

static class MyUtility
{
public const int data;
public static void Foo()
{
...
}
}

靜態類的幾個注意點

靜態類不能有實例構造器。
靜態類不能有任何實例成員。
靜態類不能使用abstract或sealed修飾符。
靜態類默認繼承自System.Object根類,不能顯式指定任何其他基類。
靜態類不能指定任何介面實現。
靜態類的成員不能有protected或protected internal訪問保護修飾符。

Ⅳ Java 枚舉類型必須定義在靜態類中

應該是enum類型本質是靜態類,普通內部類里當然不能定義靜態類。靜態類是編譯期確定的,普通內部類是運行時確定的,所以靜態內部類的普通成員父類要到運行期才能確定,就不可能編譯確定該普通內部類的靜態內部類,就是說,該靜態內部類的上層父類當中不能有一層是普通內部類,編譯器編譯時中間就斷鏈了。即在內部類中只能靜態包含靜態,不能普通包含靜態。希望你能理解。

Ⅵ java中,定義了一個靜態類,並且裡面有一個構造方法,可不可被new出來

靜態類,一般不用NEW出來,都是直接可以調用的,類似全局性質,除非程序給徹底終止該類才會失效。

Ⅶ java中為什麼不能將一個類定義為靜態的

普通類是不能聲明為static的,想要使用類里的靜態方法或變數,只需要將方法或變數聲明為static即可,即使類不是static,也可以直接調用其中的方法或變數,所以靜態類並沒有什麼意義。

Ⅷ Java 靜態內部類的使用

Java語言允許在類中再定義類,這種在其它類內部定義的類就叫內部類。內部類又分為:常規內部類、局部內部類、匿名內部類和靜態嵌套類四種。

1、靜態內部類定義

靜態內部類,定義在類中,任何方法外,用static定義;靜態內部類只能訪問外部類的靜態成員。

生成(new)一個靜態內部類不需要外部類成員:這是靜態內部類和成員內部類的區別。靜態內部類的對象可以直接生成:Outer.Inner in=new Outer.Inner();而不需要通過生成外部類對象來生成。這樣實際上使靜態內部類成為了一個頂級類。可以定義私有靜態內部類。

2、java實現靜態內部類注意事項

將某個內部類定義為靜態類,跟將其他類定義為靜態類的方法基本相同,引用規則也基本一致。不過其細節方面仍然有很大的不同。具體來說,主要有如下幾個地方要引起注意。

1)一般情況下,如果一個內部類不是被定義成靜態內部類,那麼在定義成員變數或者成員方法的時候,是不能夠被定義成靜態成員變數與靜態成員方法的。也就是說,在非靜態內部類中不可以聲明靜態成員

2)一般非靜態外部類可以隨意訪問其外部類的成員變數以及方法(包括聲明為private的方法),但是如果一個內部類被聲明為static,則其在訪問包括自身的外部類會有諸多的限制。靜態內部類不能訪問其外部類的非靜態成員變數和方法

3)在一個類中創建非靜態成員內部類的時候,有一個強制性的規定,即內部類的實例一定要綁定在外部類的實例中。然後要在一個外部類中定義一個靜態的內部類,不需要利用關鍵字new來創建內部類的實例。即在創建靜態類內部對象時,不需要其外部類的對象

3、靜態內部類示例

java在實現LinkedList時使用了如下內部類:

public class LinkedList<E>

extends AbstractSequentialList<E>

implements List<E>, Deque<E>, Cloneable, java.io.Serializable

{

........

private static class Entry<E> {

E element;

Entry<E> next;

Entry<E> previous;

Entry(E element, Entry<E> next, Entry<E> previous) {

this.element = element;

this.next = next;

this.previous = previous;

}

}

private Entry<E> addBefore(E e, Entry<E> entry) {

Entry<E> newEntry = new Entry<E>(e, entry, entry.previous);

newEntry.previous.next = newEntry;

newEntry.next.previous = newEntry;

size++;

modCount++;

return newEntry;

}

........

}

這里即靜態內部類的典型用法

Ⅸ java中,定義一個靜態類,裡面有一個public void aMethod();實現某種功能,該方法算不算靜態方法

public void aMethod(); 該方法沒有使用static關鍵字,不屬於靜態方法,所以可以使用非靜態欄位。

Ⅹ java 如何寫一個含有簡單常數的靜態類(菜鳥提問)

java寫一個含有簡單常數的靜態類,可以使用介面,讓一個類實現該介面,就可以直接通過介面.變數訪問,如下代碼:

測試類代碼:

packagecom.qiu.lin.he;

{
publicstaticvoidmain(String[]args){
System.out.print(CeshiStatic.i);//直接使用該變數輸出
}
}

介面類:

packagecom.qiu.lin.he;

publicinterfaceCeshiStatic{
publicstaticinti=0;//聲明一個靜態常數
}

運行結果如下:

閱讀全文

與java定義靜態類相關的資料

熱點內容
毛選pdf 瀏覽:657
linuxexecl函數 瀏覽:725
程序員異地戀結果 瀏覽:372
剖切的命令 瀏覽:226
干什麼可以賺錢開我的世界伺服器 瀏覽:288
php備案號 瀏覽:988
php視頻水印 瀏覽:166
怎麼追程序員的女生 瀏覽:486
空調外壓縮機電容 瀏覽:78
怎麼將安卓變成win 瀏覽:459
手機文件管理在哪兒新建文件夾 瀏覽:724
加密ts視頻怎麼合並 瀏覽:775
php如何寫app介面 瀏覽:804
宇宙的琴弦pdf 瀏覽:396
js項目提成計算器程序員 瀏覽:944
pdf光子 瀏覽:834
自拍軟體文件夾名稱大全 瀏覽:328
程序員留學移民 瀏覽:52
梁中間部位箍筋加密區 瀏覽:119
頻譜分析pdf 瀏覽:752