国产探花免费观看_亚洲丰满少妇自慰呻吟_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());


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 正蓝旗| 三门县| 阿拉善左旗| 白玉县| 西吉县| 民勤县| 阿拉善盟| 天峨县| 玛曲县| 元氏县| 喀喇沁旗| 潢川县| 响水县| 谢通门县| 边坝县| 丹阳市| 牡丹江市| 富川| 白水县| 旺苍县| 安福县| 泌阳县| 遂昌县| 城步| 深州市| 深圳市| 汶上县| 若尔盖县| 大余县| 永平县| 博爱县| 公安县| 剑河县| 格尔木市| 仙桃市| 巴塘县| 乌拉特前旗| 昭通市| 凤山县| 喀喇沁旗| 通城县|