成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

一篇文章教會你使用Java內部類、成員內部類、靜態內部類和方法內部類

開發 后端
內部類成員可以直接訪問外部類的私有數據,因為內部類被當成外部類的成員。然而外部類不能訪問內部類的實現細節(如內部類的成員變量)。

[[357454]]

 一、內部類

(一)什么是內部類?

可以在類中再定義類,就叫做內部類,這個內部類所在的類,就叫做外部類。

(二)內部類作用

1.內部類提供更好的封裝,把內部類隱藏在外部類之內,不允許同一個包中的其他類訪問該類。

2.內部類成員可以直接訪問外部類的私有數據,因為內部類被當成外部類的成員。然而外部類不能訪問內部類的實現細節(如內部類的成員變量)。

二、成員內部類

1.什么是成員內部類

在一個類中可以定義成員變量、成員方法外,還可以定義類就叫做成員內部類。成員內部類可以訪問外部類的所有成員。

2.外部類訪問內部類,首先創建外部類對象去創建內部類對象,創建內部類對象的語法格式

外部類名.內部類名 變量名=new 外部類名{}.new 內部類名{}

3.怎么定義成員內部類案例

例如:

  1. class A{ 
  2. //定義類的成員變量 
  3. private String name="張三"
  4. private int age=28; 
  5. //定義一個成員方法,方法去訪問內部類 
  6. public void test(){ 
  7.         B b=new B(); 
  8.         b.say(); 
  9. //定義一個成員內部類 
  10. class B{ 
  11.         public void say(){ 
  12.             //成員內部類方法訪問外部類的成員變量 
  13.             System.out.println("你好!我叫"+name+"今年"+age+"歲!"); 
  14.         } 
  15.  
  16. public class p17 { 
  17. public static void main(String[] args) { 
  18.     A a=new A();//創建外部類 
  19.     a.test();//調用test()方法 
  20.     } 

輸出的結果是:

  1. 你好!我叫張三今年28歲! 

A是一個外部類,在這個類中定義了一個內部類B和test()成員方法,在B類中有一個say()方法是成員內部類去訪問外部類的成員變量name和age,在test()方法中創建內部類B實例對象,調用say()方法。如果想外部類去訪問內部類,首先創建外部類對象去創建內部類對象,創建內部類對象代碼如下:

  1. A.B a=new A().new B();//創建內部類 
  2. a.say();//調用test()方法 

三、靜態內部類

1.什么是靜態內部類

內部類如果使用static關鍵字來聲明,這個內部類叫做靜態內部類。它是可以在不創建外部類對象被實例化。

2.創建靜態內部類語法格式

  1. 外部類名.內部類名 變量名=new 外部類名.內部類名() 

3.如何使用靜態內部案例

例如:

  1. class A{ 
  2. //定義類的成員變量 
  3. private static String name="李華"
  4. private static int age=18; 
  5. //定義靜態內部類 
  6. static class B{ 
  7.   void say(){ 
  8.           System.out.println("你好!我叫"+name+"今年"+age+"歲!"); 
  9.     } 
  10.   } 
  11. public class p18 { 
  12.   public static void main(String[] args) { 
  13.   // TODO Auto-generated method stub 
  14.     A.B a=new A.B();//創建內部類 
  15.     a.say();//調用內部類的方法 
  16.     } 

輸出的結果是:

你好!我叫李華今年18歲!

從上面的代碼中,內部類B使用static關鍵字來聲明,表示一個靜態內部類。在靜態內部類中只可以訪問外部類的靜態變量。如果訪問外部類的成員變量必須通過外部類的實例去訪問,靜態內部不會有外部類的引用!

四、方法內部類

1.什么是方法內部類

內部類定義在外部類的方法中,方法內部類只可以在這個方法的內部可見,也就是只可以在這個方法內使用。

2.方法內部類不可以在外部類方法以外去使用,方法內部類不能使用訪問控制符和static修飾符。

3.怎么使用方法內部類

例如:

  1. class A{ 
  2. //定義類的成員變量 
  3. private String name="李華"
  4. private int score=88; 
  5. public void test(){ 
  6. //在方法中定義內部類 
  7. class B{ 
  8.         void show(){ 
  9.             //訪問外部類的成員變量 
  10.             System.out.println("姓名:"+name+"  "+"英語成績:"+score+"分!"); 
  11.         } 
  12.   B b=new B();//創建內部類對象 
  13.   b.show();//調用內部類方法 
  14.   } 
  15. public class p19 { 
  16. public static void main(String[] args) { 
  17. // TODO Auto-generated method stub 
  18.   A a=new A();//創建外部類對象 
  19.   a.test();//調用test()方法 
  20.   } 

輸出的結果是:

  1. 姓名:李華  英語成績:88分! 

從上面代碼中,在A類的test()方法中定義了一個內部類B,因為內部類B是方法內部類,程序在運行只能在方法創建類的實例對象然后調用show()方法,方法內部類是可以訪問外部類的成員變量。

五、總結

本文主要介紹了內部類的成員內部類、靜態內部類、方法內部類。

成員內部類是在一個類中可以定義成員變量、成員方法外,還可以定義類。通過一個怎么定義成員內部類案例幫助理解這個用法。

靜態內部類是使用static關鍵字來聲明,通過一個如何使用靜態內部類案例理解這個用法。

方法內部類是內部類定義在外部類的方法中,方法內部類只可以在這個方法的內部可見,也就是只可以在這個方法內使用。

希望大家通過本文的學習,對你有所幫助!

本文轉載自微信公眾號「 Java進階學習交流」,可以通過以下二維碼關注。轉載本文請聯系 Java進階學習交流公眾號。

 

責任編輯:武曉燕 來源: Java進階學習交流
相關推薦

2020-01-15 11:14:21

Java算法排序

2011-03-29 14:11:15

內部類

2019-12-23 14:32:38

Java內部類代碼

2023-10-19 13:24:00

Java工具

2023-03-06 07:53:36

JavaN種內部類

2009-06-11 13:08:29

Java內部類Java編程思想

2009-08-26 18:00:07

C#內部類

2011-03-15 10:41:05

內部類

2009-07-29 09:18:49

Java內部類

2020-09-21 07:00:42

Java內部類接口

2011-07-21 15:44:33

Java內部類

2015-12-08 09:05:41

Java內部類

2011-11-23 10:59:18

Javafinal

2009-07-22 16:13:40

iBATIS用法SqlMapTempl

2012-04-17 11:21:50

Java

2020-01-12 19:10:30

Java程序員數據

2010-02-05 15:32:33

Java內部類

2020-10-29 08:31:15

Java同步回調編程語言

2009-06-11 11:07:25

Java局部內部類Final類型

2010-08-26 10:41:45

C#內部類
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 毛片一级电影 | 欧美高清性xxxxhd | 欧美成人免费在线 | 日韩人体在线 | 欧美午夜精品 | 日本一二三区电影 | 国产欧美日韩一区二区三区在线 | 99精品一区二区三区 | 美女网站视频免费黄 | 噜噜噜噜狠狠狠7777视频 | 久久久久久国产 | 欧美精品久久久久久 | 欧美日韩成人在线 | 99国产视频| 欧美在线视频网站 | 久久精品一区二区三区四区 | 久久久青草婷婷精品综合日韩 | 日本三级在线网站 | 久久久久久免费精品一区二区三区 | 一区二区中文字幕 | 国产视频在线观看一区二区三区 | 视频在线亚洲 | 欧美久久视频 | h视频免费在线观看 | 国产精品18久久久久久久 | 婷婷久 | 日韩免费视频一区二区 | 午夜精品久久久 | 91视频在线观看免费 | 欧美一二三四成人免费视频 | 日本一区二区在线视频 | 国产精品区一区二区三 | 亚洲精品粉嫩美女一区 | 日日夜夜天天 | 欧美乱操| 精品国产免费人成在线观看 | 国产一级在线 | 午夜小电影 | www.一区二区 | www.嫩草| 国产成人精品一区二区 |