亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Java > 正文

java 基礎知識十一 抽象類和 接口

2019-11-06 06:40:00
字體:
來源:轉載
供稿:網友

java  基礎知識十一   抽象類和 接口  

1、抽象類

抽象類和接口也是多態的體現方式

抽象類:類中沒有足夠信息描述具體的對象,這樣的類稱為抽象類

抽象類分兩種展現方式 abstract class一種是接口 interface  

2、abstract class 一般描述為抽象類  interface 一般描述為接口

抽象類定義

注意:在抽象類中的方法不一定是抽象方法,但是含有抽象方法的類必須被定義成抽象類 

 

區別和對比:      1.abstract class在 Java 語言中表示的是一種繼承關系,一個類只能使用一次繼承關系。但是,一個類卻可以實現多個interface?!?    2.在abstract class中可以有自己的數據成員,也可以有非abstarct的成員方法,而在interface中,只能夠有靜態的不能被修改的數據成員(也就是必須是static final的,    不 過在 interface中一般不定義數據成員),所有的成員方法都是abstract的。3.abstract class和interface所反映出的設計理念不同。其實abstract class表示的是"is-a"關系,interface表示的是"like-a"關系。       4.實現抽象類和接口的類必須實現其中的所有方法。抽象類中可以有非抽象方法。接口中則不能有實現方法?!?    5.接口中定義的變量默認是public static final型,且必須給其初值,所以實現類中不能重新定義,也不能改變其值。抽象類中的變量默認是 friendly型,其值可以在子類    中 重新定義,也可以重新賦值。 6.接口中的方法默認都是 public,abstract類型的。

3、內部類 內部類就是定義在外部類中的類,類名不與文件名相同,可以是靜態static的,也可以是其他修飾符內部類一旦編譯成功就和外部類成為不同的兩個類,區別為outer.class和outer$inner.class兩類成員內部類:外部類的成員,必須先創建了外部類對象 才能創建成員內部類對象 不可以有static數據和屬性局部內部類:定義在方法和作用域內的類,在作用域的范圍內有效靜態內部類:定義為static的內部類,可以有static數據和屬性匿名內部類:沒有名字而且只能使用一次的內部類,必須繼承一個父類或者實現一個接口

附件 

1、抽象類

package com.vivi.study.abstracttest;abstract class AbstractHello {   PRivate String type;   // 抽象方法 只聲明 不實現  交給繼承者實現    abstract void method1();    void method2(){    	System.out.println("我是非抽象方法");    };}2、抽象類子類 包含內部類 在內部類測試代碼中展現

package com.vivi.study.abstracttest;/* * 抽象類子類 * 實現父類方法 * 成員內部類 * 靜態成員內部類 * 局部內部類 */public class AbstractHelloSub extends AbstractHello{	@Override	void method1() {		System.out.println("實現父類抽象方法 ");	}	public subClass getSubClass(){		return new subClass();	}		// 成員內部類	public class subClass{//		不能含有static 變量和方法 會報錯//		public static int age=1;		public int getSubName() {			return subName;		}		public void setSubName(int subName) {			this.subName = subName;		}		private int subName;		public void subMethod(){			System.out.println("");		}	}//	局部內部類 定義在方法中的內部類	public void getClassMethod(int mage){		class SubClassInMethod{						public SubClassInMethod(int age){				this.setAge(age);				System.out.println("局部內部類演示"+age);			}						private int age;			public int getAge() {				return age+2;			}			public void setAge(int age) {				this.age = age;			}		}				SubClassInMethod mSubClassInMethod=new SubClassInMethod(3);		System.out.println("局部類方法調用"+mSubClassInMethod.getAge());	}			// 靜態內部類 可以有靜態變量和靜態方法 	public static class staticSubClass{		public static int age=1;		private String name;				public String getName() {			return name;		}		public void setName(String name) {			this.name = name;		}				public static void getMName(String name1){			System.out.println("來自靜態內部類的"+name1);		}	}}3、抽象類測試

package com.vivi.study.abstracttest;public class TestAbsctract {	public static void main(String[] args) {		// 抽象類不能直接創建對象 否則編譯不通過  //		Cannot instantiate the type AbstractHello//		AbstractHello abstractHello1=new AbstractHello();				//		抽象類可以通過對象引用指向非抽象子類對象  //		類比下動態綁定就知道了  父類   父類引用 =new 子類();    這也是多態的一種形式		AbstractHello abstractHello2=new AbstractHelloSub();		abstractHello2.method1();		//		但是抽象類 可以通過 隱式內部類重寫其抽象方法來new對象  		AbstractHello abstractHello3=new AbstractHello() {			@Override			void method1() {				System.out.println("抽象類創建對象  無法通過編譯");			}		};		abstractHello3.method1();	}}

4、接口類

package com.vivi.study.abstracttest;public interface InterfaceHello {	/*	 * 不能有成員方法	 * 不能有靜態代碼塊	 * 對行為(方法)抽象	 * 使用implement	 */	int type=1;//相當于  public static final int type=1;	void sayHello();// 相當于abstract void sayHello();}

5、接口實現類

package com.vivi.study.abstracttest;public class InterfaceHelloSub implements InterfaceHello{	@Override	public void sayHello() {		System.out.println("來自接口的public static final變量"+InterfaceHello.type);	}}6、接口 抽象類 內部類測試

package com.vivi.study.abstracttest;public class InterfaceAndAbstractTest {	public static void main(String[] args) {	  // 內部類測試		//1、匿名內部類		//內部類 接口方式==動態引用,將InterfaceHelloSub實例向上轉型為InterfaceHello的引用		InterfaceHello interfaceHello0=new InterfaceHelloSub() ;		interfaceHello0.sayHello();		//匿名內部類 接口方式		InterfaceHello interfaceHello=new InterfaceHello() {						@Override			public void sayHello() {				System.out.println("匿名內部類 接口方式");			}		};		interfaceHello.sayHello();				//內部類 抽象類方式==動態引用,將AbstractHelloSub實例向上轉型為AbstractHello的引用		AbstractHello abstractHello0=new AbstractHelloSub() ;		abstractHello0.method1();		//匿名內部類 抽象類形式 abstract 類		AbstractHello abstractHello=new AbstractHello() {						@Override			void method1() {				System.out.println("匿名內部類 抽象類形式 abstract 類");			}		};				abstractHello.method1();		//		2、成員內部類		//	    成員內部類需要先創建了外部類,才能創建它自己的//		AbstractHelloSub.subClass sub=new AbstractHelloSub.subClass(); 這個會報錯		AbstractHelloSub sub1=new AbstractHelloSub();		AbstractHelloSub.subClass sub2=sub1.getSubClass();		sub2.subMethod();				//		3、局部內部類 定義在方法中的內部類		sub1.getClassMethod(2);		//		4、靜態內部類		AbstractHelloSub.staticSubClass.getMName("張三");	}}


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
精品久久久久久久久久国产| 亚洲欧美国产另类| 亚洲91av视频| 亚洲国产精彩中文乱码av在线播放| 97免费在线视频| 日韩av日韩在线观看| 欧美交受高潮1| 国产欧美最新羞羞视频在线观看| 亚洲最大福利网| 91高清视频免费观看| 欧美亚洲国产另类| 日韩国产精品亚洲а∨天堂免| 最近2019中文字幕大全第二页| 国产在线观看91精品一区| 国产成人精品免费久久久久| 国产精品日韩在线一区| 欧美激情国产日韩精品一区18| 国产精品久久婷婷六月丁香| 日本成人在线视频网址| 久久99久久99精品中文字幕| 日本19禁啪啪免费观看www| 一区二区三区久久精品| 日本91av在线播放| 亚洲国产91精品在线观看| 日韩av一区在线观看| 欧美人在线观看| 日韩黄在线观看| 亚洲精品国产综合久久| 欧美日韩国产999| 亚洲精品视频在线播放| 久久久成人精品视频| 日本人成精品视频在线| 亚洲第一网中文字幕| 日韩欧美中文字幕在线播放| 亚洲精品av在线| 中文字幕精品www乱入免费视频| 久热精品视频在线免费观看| 日韩精品电影网| 久久精品色欧美aⅴ一区二区| 国产丝袜精品视频| 国产精品旅馆在线| 大胆欧美人体视频| 欧美激情成人在线视频| 国产999在线观看| 欧美日韩国产91| 久久久久中文字幕2018| 91精品久久久久久久久中文字幕| 在线观看国产欧美| 亚洲综合一区二区不卡| 狠狠久久亚洲欧美专区| 精品人伦一区二区三区蜜桃免费| 免费91在线视频| 欧美精品生活片| 久久视频在线视频| 95av在线视频| 久久精品国产免费观看| 国产精品极品美女在线观看免费| 日本乱人伦a精品| 国产偷亚洲偷欧美偷精品| 久久久国产精品免费| 日韩av手机在线观看| 亚洲色图色老头| 欧美精品久久一区二区| xxxxxxxxx欧美| 国产精品v日韩精品| 国产精品激情av电影在线观看| 国产精品视频1区| 亚洲free性xxxx护士白浆| 亚洲天堂av在线播放| 欧美日韩性生活视频| 国产精品高精视频免费| 欧美床上激情在线观看| 91亚洲精华国产精华| 日韩一区在线视频| 亚洲深夜福利视频| 国产热re99久久6国产精品| 国产欧美精品日韩精品| 国产精品视频网站| 国产精品99久久久久久www| 亚洲国产精品久久精品怡红院| 久久99精品久久久久久噜噜| 成人国产亚洲精品a区天堂华泰| 不卡毛片在线看| 亚洲第一区第一页| 欧美高清视频一区二区| 欧美成人小视频| 日本最新高清不卡中文字幕| www.色综合| 全球成人中文在线| 欧美视频二区36p| 成人h视频在线| 亚洲欧美日韩精品久久| 超碰97人人做人人爱少妇| 日韩有码片在线观看| 91在线观看免费观看| 亚洲日本成人网| 国产亚洲一区二区在线| 国产成人精品午夜| 亚洲欧洲一区二区三区久久| 国模极品一区二区三区| 不卡av在线播放| 国产一区二区三区精品久久久| 日韩精品欧美国产精品忘忧草| 国产91在线高潮白浆在线观看| 亚洲夜晚福利在线观看| 亚洲国产精彩中文乱码av在线播放| 黑丝美女久久久| 国产精品一二区| 97在线看免费观看视频在线观看| 久久人人爽国产| 97在线观看视频国产| 日韩av成人在线| 一区二区欧美亚洲| 国产精品海角社区在线观看| 日韩在线免费av| 国产精品一区二区久久久久| 亚洲欧美国产视频| 国产小视频国产精品| 久久人人97超碰精品888| 97超碰蝌蚪网人人做人人爽| 97视频国产在线| 91日本视频在线| 日韩成人在线免费观看| 久久久久久国产精品久久| 精品亚洲国产成av人片传媒| 亚洲无限av看| 中文字幕在线看视频国产欧美| 日韩理论片久久| 日韩激情av在线播放| www.亚洲男人天堂| 国产成人激情小视频| 欧美日韩福利视频| 国产伦精品免费视频| 亚洲美女精品久久| www日韩中文字幕在线看| 欧美日本高清一区| www日韩中文字幕在线看| 欧美极品少妇xxxxⅹ喷水| 日韩在线播放av| 日韩免费不卡av| 亚洲精品午夜精品| 91av在线免费观看视频| 国产免费一区二区三区香蕉精| 不卡av在线网站| 九色91av视频| 中文字幕一精品亚洲无线一区| 91久久国产综合久久91精品网站| 欧美精品在线免费观看| 精品亚洲一区二区三区在线播放| 午夜欧美大片免费观看| 日韩在线视频网站| 国产精品wwwwww| 亚洲精品久久久久久久久久久| 777国产偷窥盗摄精品视频| 亚洲欧洲第一视频| 国产成人精品亚洲精品| 色99之美女主播在线视频| 日韩成人激情在线| 国产免费观看久久黄| 欧美巨大黑人极品精男| 国产丝袜一区二区三区| 国内精品久久久久久| 国产精品久久久久久久9999| 欧美高清视频免费观看|