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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

静态内部类实现mysql连接_Java - 静态内部类

發(fā)布時(shí)間:2023/12/3 数据库 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 静态内部类实现mysql连接_Java - 静态内部类 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Java語言允許在類中再定義類,這種在其它類內(nèi)部定義的類就叫內(nèi)部類。內(nèi)部類又分為:常規(guī)內(nèi)部類、局部?jī)?nèi)部類、匿名內(nèi)部類和靜態(tài)嵌套類四種。

1、靜態(tài)內(nèi)部類定義

靜態(tài)內(nèi)部類,定義在類中,任何方法外,用static定義;靜態(tài)內(nèi)部類只能訪問外部類的靜態(tài)成員。

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

2、java實(shí)現(xiàn)靜態(tài)內(nèi)部類注意事項(xiàng)

將某個(gè)內(nèi)部類定義為靜態(tài)類,跟將其他類定義為靜態(tài)類的方法基本相同,引用規(guī)則也基本一致。不過其細(xì)節(jié)方面仍然有很大的不同。具體來說,主要有如下幾個(gè)地方要引起注意。

1)一般情況下,如果一個(gè)內(nèi)部類不是被定義成靜態(tài)內(nèi)部類,那么在定義成員變量或者成員方法的時(shí)候,是不能夠被定義成靜態(tài)成員變量與靜態(tài)成員方法的。也就是說,在非靜態(tài)內(nèi)部類中不可以聲明靜態(tài)成員

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

3)在一個(gè)類中創(chuàng)建非靜態(tài)成員內(nèi)部類的時(shí)候,有一個(gè)強(qiáng)制性的規(guī)定,即內(nèi)部類的實(shí)例一定要綁定在外部類的實(shí)例中。然后要在一個(gè)外部類中定義一個(gè)靜態(tài)的內(nèi)部類,不需要利用關(guān)鍵字new來創(chuàng)建內(nèi)部類的實(shí)例。即在創(chuàng)建靜態(tài)類內(nèi)部對(duì)象時(shí),不需要其外部類的對(duì)象

3、靜態(tài)內(nèi)部類示例

java在實(shí)現(xiàn)LinkedList時(shí)使用了如下內(nèi)部類:

public class LinkedList

extends AbstractSequentialList

implements List, Deque, Cloneable, java.io.Serializable

{

........

private static class Entry {

E element;

Entry next;

Entry previous;

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

this.element = element;

this.next = next;

this.previous = previous;

}

}

private Entry addBefore(E e, Entry entry) {

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

newEntry.previous.next = newEntry;

newEntry.next.previous = newEntry;

size++;

modCount++;

return newEntry;

}

........

}

這里即靜態(tài)內(nèi)部類的典型用法

總結(jié)

以上是生活随笔為你收集整理的静态内部类实现mysql连接_Java - 静态内部类的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。