国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

Java學習-abstract

2019-11-06 07:00:14
字體:
來源:轉載
供稿:網友
package mypackage;//類中只要有一個abstract,則類就必須是abstractpublic abstract class Person{    //當在定義一個類時,其沒有屬性(這個類中沒有定義實例域),實際其沒有任何意義    //在這里,沒有任何東西可以描述一個人    //當然,可以返回一個空串,表示這個人沒有什么可以描述的    //比如上大街上,找個路人問我要找一個人,別人問你有沒有什么可以描述一個人的,你說沒有,那這個人怎么找    //就是一個空的、虛的、沒有意義的人//    public String getDescription()//    {//        return "the person has nothing";//    }    //但通常,這不是一個好的辦法    //既然這是一個沒有意義的類,那給其提供一個沒有意義的方法,實際也沒什么意義,還不如不要    //但不要又不太好描述,所有就有了抽象的概念    public abstract String getDescription();    //將一個方法定義為abstract,可以不提供具體的實現,而有子類來實現    //但定義為一個抽象方法后,該類就必須是一個抽象類,需要把類也定義為abstract        //abstract類中,同樣還是可以定義具體的實例域和方法的,只不過該類還是不能定義一個對象    //只不過,這樣的做法看起來好像有一點點混亂,既然abstract類沒有意義,怎么又會有代表這個類的屬性    //但好處是,可以將大量重復的、相同的“東西”放到abstract類中進行統一的處理    //這里的“東西”不太好概括,因為很有可能它們和這個類本身沒有什么關系,只是找到一個可以統一處理的地方    //所以往后就有了接口的說法    PRivate String m_sName = "Pernson";    public String getName()    {        return m_sName;    }}//定義一個學生,學生也是一個人,同時,它有自己的身份“學生”class Student extends Person{    String m_sIdentify = "student";    public String getDescription()    {        return m_sIdentify;    }}

需要注意,abstract類是不能定義對象的,會報錯。

但其變量和繼承中一樣,是可以引用子類對象的。

      //abstract類是不允許定義一個對象的,因為它沒有實際意義//        Person p = new Person();//        System.out.println(p.getDescription());        //abstract類不允許定義對象,其子類只要實現了就是可以的        Student st = new Student();        Person p = st;//并且,abstract類變量同樣是可以引用子類對象的        System.out.println(st.getDescription());        System.out.println(p.getDescription());        System.out.println(p.getName());


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 无极县| 图木舒克市| 通辽市| 保康县| 湖北省| 庆城县| 上栗县| 常州市| 南汇区| 江城| 裕民县| 定边县| 望城县| 合江县| 忻州市| 翼城县| 石门县| 修文县| 徐州市| 博野县| 北京市| 万源市| 嘉黎县| 灵寿县| 静乐县| 揭西县| 临海市| 抚宁县| 宜君县| 建瓯市| 武鸣县| 盐城市| 邹城市| 日土县| 潼关县| 乐都县| 亚东县| 囊谦县| 宝兴县| 甘孜| 佛学|