最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java內部類的使用教程詳解

 更新時間:2023年04月07日 10:53:54   作者:可愛的小鋒  
在Java中,有些類可以被定義在另一個類的內部,我們把在一個類里面定義的類稱為內部類。本文主要介紹了Java內部類的使用,需要的可以參考一下

一. 內部類簡介

1. 概念

在Java中,我們通常是把不同的類創(chuàng)建在不同的包里面,對于同一個包里的類來說,它們都是同一層次的。但其實還有另一種情況,有些類可以被定義在另一個類的內部,我們把在一個類里面定義的類稱為內部類(InnerClass)或嵌套類,把外面定義的類稱為外部類(OutClass)或宿主類。 也就是說,在類的內部既可以定義成員變量和方法,也可以定義其他的類。定義內部類的常見格式如下:

class Outer {//外部類
    
    class Inner {//內部類
        
        //方法和屬性
    }
    
}

上面的代碼中,Outer是普通的外部類,Inner就是內部類。它與普通外部類最大的不同,在于其實例對象不能單獨存在,必須依附于一個外部類的實例對象。

內部類可以很好地實現(xiàn)隱藏,一般的非內部類是不允許有private 與 protected權限的,但內部類卻可以,而且內部類還擁有外部類中所有元素的訪問權限??傊?,對內部類的很多訪問規(guī)則都可以參考變量和方法。

但是要注意,雖然我們使用內部類可以使程序結構變得更加緊湊,但卻在一定程度上破壞了面向對象的思想。

2. 優(yōu)點

內部類的存在,具有如下優(yōu)點:

  • 內部類使得多繼承的解決方案變得更完整:每個內部類都能獨立的實現(xiàn)接口,無論外部類是否已經實現(xiàn)了接口或繼承了父類,對于內部類都沒有影響;
  • 既可以方便地將存在一定邏輯關系的類組織在一起,又可以對外界隱藏;
  • 方便各類編寫事件驅動程序;
  • 方便編寫線程代碼。

3. 分類

Java中的內部類可以分為如下幾種類型:

  • 成員內部類
  • 靜態(tài)內部類
  • 局部內部類
  • 匿名內部類

雖然大多數(shù)時候,內部類用得并不多,但我們也有必要了解它們是如何具體使用的。

4. 內部類的特點

內部類相比外部類,具有如下特點:

  • 內部類可以訪問外部類的私有成員,且不破壞封裝性;
  • 內部類仍是一個獨立的類,在編譯之后內部類會被編譯成獨立的.class文件,但前面會冠以外部類的類名和$符號,該文件名的格式是外部類名$內部類名.class;
  • 因為內部類是外部類的一個成員,所以內部類不能用普通的方式訪問,但內部類可以自由地訪問外部類里的成員變量,無論是否被private修飾;
  • 如果是靜態(tài)內部類,我們不能隨便訪問外部類的成員變量,只能訪問外部類的靜態(tài)成員變量。

5. Java類的創(chuàng)建要求

我們在創(chuàng)建定義Java類時,應該遵循如下要求:

  • 一個java文件中可以編寫多個類,但只能有一個類使用public關鍵詞進行修飾,這稱之為主類;
  • 主類名必須與文件名一致,在開發(fā)中,應盡量只在一個java文件中編寫一個類;
  • 外部類只有兩種訪問級別:public 和默認;內部類則有 4 種訪問級別:public、protected、 private 和默認;
  • 在外部類中,可以直接通過內部類的類名來訪問內部類;
  • 在外部類以外的其他類中,需要通過內部類的完整類名來訪問內部類;
  • 內部類與外部類不能重名。

接下來我們就針對上面提到的幾種內部類,分別給大家講解這幾種內部類的用法。

二. 成員內部類

1. 概念

成員內部類就是指沒有被static修飾的內部類,也可以稱為非靜態(tài)內部類。

2. 特點

成員內部類具有如下特點:

  • 在早期的jdk版本中,成員內部類中只能定義非靜態(tài)的屬性和方法,除非同時使用final和static進行修飾;
  • 在新版的jdk中,成員內部類中也可以定義靜態(tài)的屬性和方法;
  • 成員內部類可以訪問外部類的所有成員,包括私有和靜態(tài)的成員,即使是多層嵌套時也如此;
  • 外部類不能直接訪問內部類的成員,必須通過內部類的實例對象訪問;
  • 在外部類的靜態(tài)方法和外部類以外的其他類中,必須通過外部類的實例創(chuàng)建內部類的實例對象;
  • 外部類的實例與內部類實例是一對多的關系,即一個內部類實例只對應一個外部類實例,但一個外部類實例則可以對應多個內部類實例。

3. 語法

如果是在外部類中,創(chuàng)建成員內部類對象的基本語法格式如下:

內部類 對象名 = new 內部類();

如果是在外部的其他類中,或者是在外部類的靜態(tài)方法中,創(chuàng)建成員內部類對象的基本語法格式如下:

內部類 對象名 = new 外部類().new 內部類();

4. 案例

4.1 定義成員內部類

/**
 * 成員內部類
 */
public class OuterClass {

	// 外部類的非靜態(tài)成員
	String name = "一一哥";
	private String hobby = "擼碼";
	static int age = 30;

	// 非靜態(tài)方法
	public void show() {
		//這里的this是指OuterClass對象
		System.out.println("show方法...name="+this.name);

        //如果是在外部類里面創(chuàng)建內部類的對象,就不需要創(chuàng)建外部類實例,可以直接new 內部類()
		//InnerClass inner = new InnerClass();
	}

	// 定義一個成員內部類
	public class InnerClass {
		// 也可以定義私有屬性
		private int a = 10;

		//在早期的JDK中,成員內部類中不能定義靜態(tài)變量;但在新版JDK中,成員內部類中可以定義靜態(tài)變量
		static int b = 20;

		// 非靜態(tài)方法
		public void m1() {
			// 這里的this對象是InnerClass內部類對象
			System.out.println("成員內部類的成員變量:" + this.a);
			
			//外部類.this.屬性或方法,這個this是外部類對象
			System.out.println("外部類的成員變量:" + OuterClass.this.name);
			
            //內部類中可以訪問外部類的私有成員和靜態(tài)成員
			System.out.println("外部類的私有成員變量:" + hobby);
			System.out.println("外部類的靜態(tài)變量:" + age);
		}

		//在早期的JDK中,成員內部類中不能定義靜態(tài)方法;但在新版JDK中,成員內部類中可以定義靜態(tài)方法
		public static void m2() {
			System.out.println("調用成員內部類的靜態(tài)變量:" + b);
			System.out.println("調用外部類的靜態(tài)變量:" + age);

            //在靜態(tài)方法中創(chuàng)建內部類對象,也要通過內部類 對象名 = new 外部類().new 內部類();的格式
			//InnerClass innerClass = new OuterClass().new InnerClass();
		}

	}

}

我們要注意,在早期的JDK中,成員內部類中不能定義靜態(tài)屬性和方法;但在新版JDK中,成員內部類中可以定義靜態(tài)的屬性和方法。并且我們要搞清楚在不同的位置上,創(chuàng)建內部類對象的方式,以及this的具體含義。

4.2 定義測試類

我們在外部的其他類中,要想創(chuàng)建出一個成員內部類的對象,需要通過如下形式:

內部類 對象名 = new 外部類().new 內部類();

public class InnerClassTest {

	public static void main(String[] args) {
		
		//在外部的其他類中,不能直接創(chuàng)建內部類對象,否則:
		//No enclosing instance of type OuterClass is accessible. 
		//Must qualify the allocation with an enclosing instance of type OuterClass 
		//(e.g. x.new A() where x is an instance of OuterClass).
		//InnerClass inner=new InnerClass();

        //在外部的其他類中創(chuàng)建內部類對象,需要通過如下格式:
		//內部類 對象名 = new 外部類().new 內部類();
		//InnerClass inner=new OuterClass().new InnerClass();
		
		//也可以拆分成如下格式:
		OuterClass outer=new OuterClass();
		InnerClass inner=outer.new InnerClass();
		
		inner.m1();
		
		InnerClass.m2();
		
	}
}

5. 訪問方式小結

學習到這里,你可能會被內部類與外部類之間的調用訪問關系整蒙圈,所以給大家梳理了一下訪問方式:

  • 成員內部類 訪問 外部類的成員(屬性、方法),可以【直接訪問使用】;
  • 外部類 訪問 成員內部類,需要【直接創(chuàng)建內部類對象后再訪問】,即 new InnerClass();
  • 外部的其他類 訪問 成員內部類,需要【創(chuàng)建外部類對象,再創(chuàng)建內部類對象后訪問】,即 InnerClass inner=new OuterClass().new InnerClass();

6. 關于this的注意事項

在之前給大家講過this的作用和用法,但在內部類中,關于this,我們需要注意以下兩點:

如果同時存在外部類和內部類,那么this在哪個類中使用,this就代表哪個類的對象;

 如果內部類想要通過this來調用外部類的屬性和方法,需要使用外部類名.this.屬性或者方法名。

三. 局部內部類

1. 概念

局部內部類是指在方法中定義的內部類。

2. 特點

局部內部類具有如下特點:

  • 局部內部類只能在方法中定義和創(chuàng)建對象,也只在當前方法中有效;
  • 局部內部類中可以訪問外部類的所有成員;
  • 局部內部類與局部變量一樣,不能使用訪問控制修飾符(public、private和protected)和static修飾符;
  • 在jdk 7版本中,如果局部變量是在局部內部類中使用,必須顯式地加上final關鍵字;在jdk 8版本中,會默認添加final關鍵字;
  • 局部內部類只能訪問當前方法中final類型的參數(shù)與變量。如果方法中的成員與外部類的成員同名,可以使用 .this. 的形式訪問外部類成員;
  • 局部內部類中還可以包含內部類,但這些內部類也不能使用訪問控制修飾符(public、private 和 protected) 和 static修飾符;
  • 局部變量在方法執(zhí)行結束后會被銷毀,而局部內部類的對象會等到內存回收機制進行銷毀。如果是局部內部類里的常量,該常量會被存放在常量池中。

3. 語法

創(chuàng)建局部內部類對象的基本語法格式如下:

public class PartClass {
    
    public void method() {
        //在方法中定義的內部類,就是局部內部類
        class Inner {
            //屬性

            //方法
        }
    }
    
}

4. 案例

4.1 定義局部內部類

我們來定義一個局部內部類的案例代碼。

/**
 * 
  * 局部內部類---定義在方法中的內部類
 */
public class PartOuterClass {

	//類的成員變量
	String name="一一哥";
    private int age=30;
    static String hobby="java";
    
    public void show() {
    	//局部變量
        //JDK 7之前,匿名內部類和局部內部類中訪問外部的局部變量時,該變量需要明確地帶有final修飾符
        //final int num = 10;
        
        //Effectively final特性
        int num = 10;
        
        //局部內部類,類似于是方法中的局部對象
        class PartInnerClass{
        	
        	//內部可以正常定義方法
            public void m1() {
            	//訪問外部類的非靜態(tài)成員,可以使用OuterClass.this.成員的格式,也可以直接訪問
            	//System.out.println("外部類的成員變量"+name);
                System.out.println("外部類的成員變量"+PartOuterClass.this.name);
                System.out.println("外部類私有的成員變量"+age);
                System.out.println("外部類的靜態(tài)變量"+hobby);
                
                //局部內部類,可以直接訪問方法中的局部變量
                System.out.println("訪問局部變量"+num);
            }
            
            //在新版的jdk中,也可以定義靜態(tài)的屬性和方法,老版的jdk則不行
            static int b=10;
            
            public static void m2() {
            	System.out.println("外部類的靜態(tài)變量,hobby="+hobby+",b="+b);
            }
        }
        
        //創(chuàng)建局部內部類對象
        PartInnerClass inner = new PartInnerClass();
        inner.m1();
        
        //在當前類中,局部內部類可以直接訪問靜態(tài)成員
        PartInnerClass.m2();
        
    }    
    
}

在JDK 7之前,匿名內部類和局部內部類中訪問外部的局部變量時,該變量需要明確地帶有final修飾符。但從JDK 8之后,我們可以不帶final修飾符,而是由系統(tǒng)默認添加了。

4.2 定義測試類

接下來我們對上面的案例進行測試。

public class PartInnerClassTest {

	public static void main(String[] args) {
		//創(chuàng)建外部類對象,調用方法,執(zhí)行局部內部類
		PartOuterClass outer=new PartOuterClass();
		outer.show();
	}
}

4.3 Effectively final特性

一般情況下,Java中的局部內部類和匿名內部類訪問局部變量時,該變量必須由 final修飾,以保證內部類和外部類的數(shù)據一致性。但從 Java 8開始,我們可以不加 final修飾符,而是由系統(tǒng)默認添加,當然這在 Java 8以前是不允許的。Java將這個新的特性稱為 Effectively(有效的、實際的) final 功能。

另外在 Lambda表達式中,使用局部變量時也要求該變量必須是 final 修飾的,所以 effectively final特性在 Lambda表達式的上下文中非常有用。

其實effectively final特性,只是讓我們不用顯式地把變量聲明為final修飾的,它給我們自動添加了final修飾詞,但并沒有取消final,主要是減少了一點不必要的操作,給開發(fā)節(jié)省了點時間。

四. 匿名內部類

1. 概念

匿名內部類就是指沒有類名的內部類,必須在創(chuàng)建時使用 new 語句來聲明。匿名內部類不能在Outer Class外部類中定義,而是要在某個方法的內部,通過匿名類(Anonymous Class)的形式來定義。 匿名內部類本身就是一個對象。

通常情況下,如果一個方法的參數(shù)是接口類型,且該接口只需要實現(xiàn)一次,那么我們就可以通過匿名內部類的形式來進行定義。另外如果該接口的實現(xiàn)每次都不同,也可以使用匿名內部類的形式進行定義。我們也可以把這種定義形式叫做 “接口回調” 。匿名內部類的代碼格式使得代碼更加簡潔、緊湊,模塊化程度也更高。

2. 特點

匿名內部類具有如下特點:

  • 匿名內部類本身就是一個對象;
  • 一般在匿名內部類中不會定義屬性和方法,因為沒有意義;
  • 匿名內部類的父類一般都是抽象類或者是接口;
  • 匿名內部類和局部內部類一樣,可以訪問外部類的所有成員;
  • 如果匿名內部類位于方法中,則該類只能訪問方法中 final 類型的局部變量和參數(shù);
  • 匿名內部類中允許使用非靜態(tài)代碼塊對成員進行初始化操作;
  • 匿名內部類的非靜態(tài)代碼塊會在父類的構造方法之后被執(zhí)行。

3. 語法

通常匿名內部類有兩種實現(xiàn)方式:

  • 繼承一個類,重寫其方法;
  • 實現(xiàn)一個或多個接口,并實現(xiàn)其方法。

創(chuàng)建匿名內部類對象的基本語法格式如下:

new <類或接口> (){
重寫類或接口的方法
}

4. 案例

為了給大家演示匿名內部類的用法,接下來壹哥設計一個用于模擬按鈕點擊事件的案例。當我們進行安卓等設備開發(fā)時,面板上有個按鈕,點擊該按鈕,如何監(jiān)聽點擊事件?在Android系統(tǒng)中提供了各種對應的按鈕點擊監(jiān)聽事件。所以這里壹哥就通過實現(xiàn)接口的形式來定義匿名內部類,模擬一個單擊事件。

4.1 定義接口

首先我們需要定義一個接口,表示單擊監(jiān)聽,內部有個點擊事件。

/**
 * 點擊監(jiān)聽事件
 */
public interface OnClickListener {

	//點擊事件
	void onClick();
	
}

4.2 定義Button按鈕類

然后定義一個Button按鈕類,給Button按鈕安排一個點擊監(jiān)聽方法。

/**
 * 
 * 局部內部類---定義在方法中的內部類
 */
public class Button {

	//處理案例點擊的監(jiān)聽事件
    public void setOnClickListener(OnClickListener listener) {
    	
    	listener.onClick();
    }
    
}

4.3 定義測試類

接下來我們就測試運行上面的代碼。

/**
 * 匿名內部類測試
 */
public class AnonyInnerClassTest {

	public static void main(String[] args) {
		//外部變量
		int num=20;
		
		//測試匿名內部類
		Button btn=new Button();
		
		//模擬處理按鈕的點擊事件
		btn.setOnClickListener(new OnClickListener() {//這里就是一個匿名內部類
			
			//在匿名內部類中,可以允許使用非靜態(tài)代碼塊進行成員初始化操作。
			int i; 
			
			{    // 非靜態(tài)代碼塊,在構造方法之后執(zhí)行
		        i = 100;    //成員初始化
		    }
			
			@Override
			public void onClick() {
				System.out.println("按鈕被點擊啦...i="+i+",num="+num);
			}
		});
		
	}
}

根據上面的案例可知:

  • 在匿名內部類中,可以允許使用非靜態(tài)代碼塊進行成員初始化操作;
  • 匿名內部類的非靜態(tài)代碼塊,會在構造方法之后執(zhí)行;
  • 匿名內部類也可以直接使用外部類的成員。

五. 靜態(tài)內部類

1. 概念

靜態(tài)內部類和成員內部類的定義類似,但要使用static修飾,所以稱為靜態(tài)內部類(Static Nested Class)。

靜態(tài)內部類和成員內部類有很大的不同,它不再依附于Outer的實例,而是一個完全獨立的類,因此無法引用Outer.this的方式調用。但它可以訪問Outer類的private靜態(tài)字段和靜態(tài)方法,如果我們把靜態(tài)內部類移到Outer類之外,就失去了訪問private的權限。

2. 特點

靜態(tài)內部類中可以定義非靜態(tài)的屬性和方法,也可以定義靜態(tài)的屬性和方法;

靜態(tài)內部類中只能訪問靜態(tài)外部類的靜態(tài)屬性和方法。

3. 語法

創(chuàng)建靜態(tài)內部類對象的基本語法格式如下:

內部類 對象名 = new 外部類.內部類();

4. 案例

4.1 定義靜態(tài)內部類

這里我們先簡單定義一個靜態(tài)內部類,后面我們在學習內部類時再專門講解。在這個靜態(tài)內部類中,定義了一個方法,來訪問外部類中的普通屬性和靜態(tài)屬性。我們要記住以下幾點:

  • 靜態(tài)內部類訪問外部類的成員變量時,需要先創(chuàng)建外部類對象;
  • 非靜態(tài)內部類可以直接訪問使用外部類的成員變量,如同使用本類中的變量;
  • 所有的內部類訪問外部類的靜態(tài)變量時,可以直接通過"外部類.靜態(tài)變量"的形式訪問。
/**
 * 外部類和內部類
 */
public class OuterClass {
	
	//普通屬性,屬于外部類
	static int outerNum=10;
	
	//定義一個靜態(tài)的內部類,如果不帶static,就是一個普通的內部類。
	//內部類的使用,和普通類一樣,里面可以正常定義屬性、方法、構造方法等。
    //static前面可以帶public等任意訪問修飾符,也可以不帶!
	static class InnerClass{
		//私有屬性無法在類的外部直接訪問
		//private int innerNum=20;
		
		int innerNum=20;
		
		public void printNum() {
			//定義外部類對象
			OuterClass outer=new OuterClass();

            //這里的this是指InnerClass內部類對象!
			System.out.println("innerNum="+this.innerNum+",outerAge="+outer.outerAge+",outerNum="+OuterClass.outerNum);
		}
	}

}

對于靜態(tài)內部類而言,static前面可以帶public等任意訪問修飾符,也可以不帶!

4.2 定義測試類

我們再定義一個測試類,看看內部類對象是怎么調用的。

/**
 * 測試訪問內部類
 */
public class InnerClassTest {
	
	public static void main(String[] args) {
		//創(chuàng)建內部類對象,格式為“外部類.內部類 對象名 = new 外部類.內部類的構造方法”
		OuterClass.InnerClass inner = new OuterClass.InnerClass();
		
		//調用內部類的方法
		inner.printNum();
		
		//訪問外部類屬性
	    System.out.println("outerNum="+OuterClass.outerNum);
	    
	    //訪問內部類屬性
	    System.out.println("innerNum="+inner.innerNum);
	}

}

5. 訪問方式小結

對于靜態(tài)內部類的訪問要求,給大家總結如下:

  • 靜態(tài)內部類中可以直接訪問外部類的所有靜態(tài)方法,包含私有的,但不能直接訪問非靜態(tài)成員;
  • 靜態(tài)內部類可以添加任意訪問修飾符(public、protected、默認、private),因為它的地位就是一個成員;
  • 如果靜態(tài)內部類 訪問 外部類 的靜態(tài)屬性、靜態(tài)方法等,訪問方式是【直接訪問】;
  • 如果外部類或外部的其他類來 訪問 靜態(tài)內部類,訪問方式是【外部類.內部類 對象名 = new 外部類.內部類的構造方法】,創(chuàng)建出內部類對象后再訪問。

六. 結語

至此我們就把內部類給大家詳細地介紹了,現(xiàn)在你學會了嗎?我們來總結一下內部類的重點內容吧:

  • 內部類分為成員內部類、局部內部類、匿名內部類和靜態(tài)內部類;
  • 成員內部類和匿名內部類在本質上是相同的,都必須依附于外部類的實例,會隱含地持有Outer.this實例,并擁有外部類的private訪問權限;
  • 靜態(tài)內部類是獨立類,但擁有外部類的private訪問權限;
  • 如果外部類和內部類中的成員重名時,內部類訪問時默認會遵循就近原則;如果想訪問外部類的成員,則可以用【外部類名.成員】的形式來訪問。

到此這篇關于Java內部類的使用教程詳解的文章就介紹到這了,更多相關Java內部類內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Java深入淺出掌握SpringBoot之MVC自動配置原理篇

    Java深入淺出掌握SpringBoot之MVC自動配置原理篇

    在進行項目編寫前,我們還需要知道一個東西,就是SpringBoot對我們的SpringMVC還做了哪些配置,包括如何擴展,如何定制,只有把這些都搞清楚了,我們在之后使用才會更加得心應手
    2021-10-10
  • Java實現(xiàn)淘寶秒殺聚劃算搶購自動提醒源碼

    Java實現(xiàn)淘寶秒殺聚劃算搶購自動提醒源碼

    這篇文章主要為大家詳細介紹了java實現(xiàn)淘寶秒殺聚劃算搶購自動提醒源碼,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-02-02
  • java?LeetCode普通字符串模擬題解示例

    java?LeetCode普通字符串模擬題解示例

    這篇文章主要為大家介紹了java?LeetCode普通字符串模擬題解示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-02-02
  • 教你使用springSecurity+jwt實現(xiàn)互踢功能

    教你使用springSecurity+jwt實現(xiàn)互踢功能

    JWT作為一個開放的標準( RFC 7519 ),定義了一種簡潔的,自包含的方法用于通信雙方之間以Json對象的形式安全的傳遞信息。接下來通過本文給大家介紹springSecurity+jwt實現(xiàn)互踢功能,需要的朋友可以參考下
    2021-11-11
  • log4j的使用詳細解析

    log4j的使用詳細解析

    最近在整理公司產品的日志輸出規(guī)范,涉及l(fā)og4j的使用介紹,就簡單整理了一下。需要的朋友可以過來參考參考
    2013-08-08
  • javaweb中Filter(過濾器)的常見應用

    javaweb中Filter(過濾器)的常見應用

    這篇文章主要介紹了javaweb中Filter的常見應用,過濾器的使用方法,感興趣的小伙伴們可以參考一下
    2015-12-12
  • 基于SpringBoot核心原理(自動配置、事件驅動、Condition)

    基于SpringBoot核心原理(自動配置、事件驅動、Condition)

    這篇文章主要介紹了基于SpringBoot核心原理(自動配置、事件驅動、Condition),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-08-08
  • Java服務器端跨域問題解決方案

    Java服務器端跨域問題解決方案

    這篇文章主要介紹了java服務器端跨域問題解決方案,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-01-01
  • Spring、SpringMVC和SpringBoot的區(qū)別及說明

    Spring、SpringMVC和SpringBoot的區(qū)別及說明

    這篇文章主要介紹了Spring、SpringMVC和SpringBoot的區(qū)別及說明,具有很好的參考價值,希望對大家有所幫助。
    2022-10-10
  • Java中的stream流的概念解析及實際運用總結

    Java中的stream流的概念解析及實際運用總結

    流是指傳輸時的數(shù)據,Java為流準備了很多內置類,尤其是IO輸入輸出流非常常用,這里我們來看一下Java中的stream流的概念解析及實際運用總結
    2016-06-06

最新評論

柳河县| 长沙市| 金昌市| 安达市| 平度市| 耿马| 纳雍县| 曲水县| 河南省| 邢台市| 昭觉县| 马公市| 鄂伦春自治旗| 蒙阴县| 红安县| 台南县| 太原市| 大兴区| 信阳市| 杭锦后旗| 永顺县| 石柱| 屯门区| 宁波市| 黄浦区| 新闻| 曲沃县| 噶尔县| 巧家县| 宣汉县| 宜丰县| 惠东县| 隆昌县| 诏安县| 四子王旗| 隆德县| 大新县| 大港区| 宾阳县| 连南| 永宁县|