黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

Java面向?qū)ο?/div>
Java異常
Java數(shù)組
Java常用類
Java集合
Java IO流
Java線程
Java反射
Socket編程
Java注解開發(fā)
Java GoF設(shè)計模式
HashMap
Java內(nèi)存模型
Java線性表

Java內(nèi)部類

在A類的類體中定義了的類,稱為內(nèi)部類。

內(nèi)部類包括: 成員內(nèi)部類, 靜態(tài)內(nèi)部類, 局部內(nèi)部類, 匿名內(nèi)部類。

package com.wkcto.chapter01.innerclass.demo01;
/**
 * 成員內(nèi)部類
 * 	1) 成員內(nèi)部類與實例變量/實例方法一樣,都是屬于某一個Outer對象的
 * 	2) 一般情況下, 在實例方法中使用成員內(nèi)部類創(chuàng)建對象
 * 	3) 在Java中,所有類編譯后都會生成一個獨立的字節(jié)碼文件, 
 * 		內(nèi)部類的字節(jié)碼文件: 外部類$內(nèi)部類名.class
 * 
 * @author 蛙課網(wǎng)
 *
 */
public class Outer {
	int  xx = 10 ; 		//實例變量
	public void m1() {
		System.out.println("實例方法");
		xx = 123; 		//在實例方法中,可以直接使用實例變量
		//一般情況下, 在實例方法中使用成員內(nèi)部類創(chuàng)建對象
		Inner1  obj = new Inner1();
	}
	
	//成員內(nèi)部類
	class Inner1{
		
	}
	
}
package com.wkcto.chapter01.innerclass.demo02;
/**
 * 靜態(tài)內(nèi)部類
 * 	1) 使用static修飾的成員 內(nèi)部類
 * 	2) 靜態(tài)內(nèi)部類一般情況下是在靜態(tài)方法中使用
 * 
 * @author 蛙課網(wǎng)
 *
 */
public class Outer {
	static int yy = 20; 		//靜態(tài)變量
	public static void sm() {
		System.out.println("靜態(tài)方法");
		yy = 202 ;				//在靜態(tài)方法中,可以直接使用靜態(tài)變量
		//一般情況下是在靜態(tài)方法中使用靜態(tài)內(nèi)部類
		Inner2 obj = new Inner2();
	}
	
	//靜態(tài)內(nèi)部類
	static class Inner2{
		
	}
}
package com.wkcto.chapter01.innerclass.demo03;
/**
 * 局部內(nèi)部類
 * 	1) 在方法體中定義的內(nèi)部類就是局部內(nèi)部類
 * 	2) 局部內(nèi)部類的作用域 , 是從定義內(nèi)部類的位置開始, 直到包含它的大括弧結(jié)束
 * @author 蛙課網(wǎng)
 *
 */
public class Outer {
	public void m3() {
		int zz = 10; 		//局部變量
		
		class Inner3{} 		//局部內(nèi)部類
		
		
	}
}
package com.wkcto.chapter01.innerclass.demo04;
/**
 * 匿名內(nèi)部類
 * 	1)匿名內(nèi)部類,就是沒有類名 的內(nèi)部類,
 * 	2)因為匿名內(nèi)部類沒有類名, 匿名內(nèi)部類的定義與對象的創(chuàng)建必須在一起
 * 	3)給接口/抽象類的引用賦值時,可以賦值匿名內(nèi)部類對象,  接口實現(xiàn)類/抽象類的子類只使用一次時, 可以使用匿名內(nèi)部類
 * 		經(jīng)常, 如果方法的形參是接口/抽象類的引用,在調(diào)用方法時,可以傳遞匿名內(nèi)部類對象
 * @author 蛙課網(wǎng)
 *
 */
public class Test {

	public static void main(String[] args) {
		//接口的引用只能賦值實現(xiàn)類對象, 接口不能實例化對象, 需要先定義一個類, 讓它實現(xiàn)接口,再創(chuàng)建實現(xiàn)類對象給接口引用賦值
		//如果接口的實現(xiàn)類就使用這一次, 以后再也不用了, 就不需要再單獨的定義一個實現(xiàn)類了, 可以直接給接口引用賦值匿名內(nèi)部類對象
		
		Flyable  flyable = new Flyable() {
			//在匿名內(nèi)部類中重寫接口的抽象方法
			@Override
			public void fly() {
				System.out.println("我是匿名內(nèi)部類中重寫 的飛行操作");
			}
		};		
		flyable.fly();
		
		//抽象類不能實例化對象, 抽象類的引用需要賦值子類對象, 先定義子類繼承抽象類, 重寫抽象類的抽象方法, 再創(chuàng)建子類對象給抽象類引用賦值
		//當(dāng)子類就使用這一次時, 可以直接給抽象類引用賦值匿名內(nèi)部類對象
		
		Animal animal = new Animal() {
			//在匿名內(nèi)部類中重寫抽象類的抽象方法
			@Override
			public void walk() {
				System.out.println(" 這是一個神奇的動物, 它沒有腿也能走路");
			}
		};
		animal.walk();
		
	}

}

總結(jié):

記住類與類之間的關(guān)系, 可以通過Rose工具畫出類與類之間的關(guān)系。

了解什么是內(nèi)部類, 了解內(nèi)部類有哪些, 掌握接口的引用/抽象類的引用可以賦值匿名內(nèi)部類對象。

主站蜘蛛池模板: 亚洲综合成人网 | 窝窝人体色www | 欧美成人精品一区二三区在线观看 | 天天插天天干天天射 | 一级黄色网 | 色男人影院| 日本伊人精品一区二区三区 | 天天色综合2 | 亚洲欧美日韩成人一区在线 | 天天草视频 | 日韩一区二区在线视频 | 一级做a爰片久久毛片人呢 一级做a爰片久久毛片免费看 | 欧美精品xxxⅹ欧美 欧美经典成人在观看线视频 | 有人有片的观看免费视频 | 成人网免费| 在线中文字幕第一页 | 一个人看的免费视频www中国 | 免费大片在线观看www | 久久人人爽人人爽人人爽 | 天天碰天天摸天天操 | 国产精品免费在线播放 | 日韩欧美在线视频观看 | 视频一区二区三区自拍 | 有b吗在线视频 | 久久99精品国产麻豆不卡 | 成人影院一区二区三区 | 91视频免费入口 | 日韩第一区 | 色综合888| 污视频链接 | 高清国产美女一级a毛片在线 | 一个人看的www免费视频中文 | 中文字幕22页 | 在线播放国产色视频在线 | 日本美女影院 | 国产精品亚洲二区 | 免费三级网站 | 337p日本大胆欧洲色噜噜高清 | 久青草香蕉精品视频在线 | 一个人看www在线观看免费视频 | 日日操夜夜操狠狠操 |