Java 內(nèi)部類的定義與范例
一、前言
前面我們學(xué)習(xí)了一個(gè)小的項(xiàng)目,現(xiàn)在我們來(lái)學(xué)習(xí)新的知識(shí)點(diǎn),關(guān)于內(nèi)部類的描述,其實(shí)
顧名思義就是在類的內(nèi)部有一個(gè)類,簡(jiǎn)稱套娃類(個(gè)人觀點(diǎn))
二、內(nèi)部類
一個(gè)類定義在另一個(gè)在一個(gè)類的內(nèi)部叫內(nèi)部類。
- 內(nèi)部類可以直接訪問(wèn)外部類的私有和非私有成員,而外部類不能直接訪問(wèn)內(nèi)部類
- (包括所有外部類成員)
- 外部類成員要訪問(wèn)內(nèi)部類是,必須創(chuàng)建內(nèi)部類對(duì)象。
- 外部類通過(guò)創(chuàng)建對(duì)象也可以方法內(nèi)部類的私有和非私有成員
語(yǔ)法格式:
public class A{
修飾符 class B{}
}
static修飾內(nèi)部類
static不能直接修飾類,但是可以修飾內(nèi)部類,被static修飾的內(nèi)部類就變成了普通類
即只能通過(guò)創(chuàng)建外部類對(duì)象去訪問(wèn)外部類,不能直接訪問(wèn)外部類。
如:
內(nèi)部類未被static修飾時(shí):
public class Outer{
private int num=10;
public class Inner{
public void show(){
System.out.println(num);//直接使用
}
}
}
內(nèi)部類被static修飾后
public class Outer{
private int num=10;
public class Inner{
Outer o=new outer();
public void show(){
System.out.println(o.num);//創(chuàng)建外部類對(duì)象調(diào)用使用
}
}
}
演示操作:
public class OuterClass {
private int num=20;
public static void main(String[] args) {
OuterClass oo=new OuterClass();
oo.show1();
}
public class InnerClass{
private int num2=10;
public void show(){
System.out.println("這是一個(gè)內(nèi)部類的show");
System.out.println(num);//內(nèi)部類直接訪問(wèn)外部類私有
//訪問(wèn)外部類成員方法
}
}
public void show1(){
InnerClass i=new InnerClass();
i.show();//通過(guò)創(chuàng)建對(duì)象訪問(wèn)內(nèi)部類成員方法
System.out.println(i.num2);//外部類創(chuàng)建對(duì)象訪問(wèn)內(nèi)部類私有
System.out.println("這是一個(gè)外部類show");
}
}
結(jié)果:

到此這篇關(guān)于Java 內(nèi)部類的定義與范例的文章就介紹到這了,更多相關(guān)Java 內(nèi)部類內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java使用Jedis操作Redis服務(wù)器的實(shí)例代碼
本篇文章主要介紹了Java使用Jedis操作Redis服務(wù)器的實(shí)例代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-08-08
動(dòng)態(tài)配置Spring Boot日志級(jí)別的全步驟
這篇文章主要給大家介紹了關(guān)于動(dòng)態(tài)配置Spring Boot日志級(jí)別的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Spring Boot具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04
MybatisPlus的IPage失效的問(wèn)題解決方案
這篇文章主要介紹了MybatisPlus的IPage失效的問(wèn)題解決方案,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01
java提取json中某個(gè)數(shù)組的所有值方法
下面小編就為大家分享一篇java提取json中某個(gè)數(shù)組的所有值方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-03-03
Netty分布式NioSocketChannel注冊(cè)到selector方法解析
這篇文章主要為大家介紹了Netty分布式源碼分析NioSocketChannel注冊(cè)到selector方法的解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-03-03
Spring Boot高級(jí)教程之Spring Boot連接MySql數(shù)據(jù)庫(kù)
這篇文章主要為大家詳細(xì)介紹了Spring Boot高級(jí)教程之Spring Boot連接MySql數(shù)據(jù)庫(kù),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-10-10
解決java.util.NoSuchElementException異常的問(wèn)題
這篇文章主要介紹了解決java.util.NoSuchElementException異常的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-09-09

