小说妹妹网

手机浏览器扫描二维码访问

第6部分(第1页)

ersity中继承的。Java允许在UniversityWorld中声明变量name和city,但这会隐藏University中的name和city,是与使用子类的目的相矛盾的,应当避免。在UniversityWorld的实例中name、city和country的地位是一样的。

5。11super在UniversityWorld的例子里,有一段代码和它的超类University的重复,这段代码是初始化name和city的,this。name=name;this。city=city;就象在University例子中用this指向第一个构造函数一样,在Java里有另一个变量叫做super,它直接指向超类的构造函数。下面这个例子用super来初始化变量name和city,然后打印出这个对象的内容。

classUniversityWorldextendsUniversity{Stringcountry;UniversityWorld(Stringname;Stringcity;Stringcountry){super(name;city);调用了构造函数University(name;city)this。country=country;}publicstaticvoidmain(Stringargs''){UniversityWorldu=newUniversityWorld(”北?copy;大学”;”北?copy;”;”中国”);System。out。println(”大学:”+u。name+”城市:”+u。city+”国家:”+u。country);}}

下面是运行结果。C:》javaUniversityWorld大学:北?copy;大学城市:北?copy;国

家:中国

5。12成员函数的覆盖

这个University的新的子类继承了它的超类的成员函数samecity。但这个成员函数samecity判断的是两个城市的名字,这是不够的,因为有可能两个两个名字一样的城市属于不同的国家,我们要用同时判断城市和国家的成员函数来覆盖它。下面就是实现覆盖的例子。

classUniversity{Stringname;city;University(Stringname;Stringcity)

{this。name=name;this。city=city;}booleansamecity(Stringcity){if

(city。equals(this。city))returntrue;elsereturnfalse;}boolean

samecity(Universityu){returnsamecity(u。city);}}

classUniversityWorldextendsUniversity{Stringcountry;

UniversityWorld(Stringname;Stringcity;Stringcountry){super(name;

city);this。country=country;}booleansamecity(Stringcity;String

country){if(city。equals(u。city)&&country。equals(u。country))return

true;elsereturnfalse;}booleansamecity(UniversityWorldother)

{returndistance(other。city;other。country);}}

classUniversityWorldCity{publicstaticvoidmain(Stringargs'')

{Stringcity=”上海”;Stringcountry=”中国”;UniversityWorldu1=

newUniversityWorld(”北?copy;大学”;”北?copy;”;”中国”);

UniversityWorldu2=newUniversityWorld(”清华大学”;”北?copy;”;”

中国”);System。out。println(”u1=”+u1。name+”;”+u1。city+”;”+

u1。country);System。out。println(”u2=”+u2。name+”;”+u2。city+”;

”+u2。country);System。out。println(”city=”+city+”;country=”+

country);System。out。println(”u1。samecity(u2)=”+u1。samecity(u2));

System。out。println(”u1。samecity(city;country)=”+u1。samecity(city;

country));}}

下面是输出结果。

C:》javaUniversityWorldCityu1=北?copy;大学;北?copy;;中国u2=清华大学;北?copy;;中国city=上海;country=中国u1。samecity(u2)=trueu1。samecity(city;country)=false

5。13动态成员函数发送

当你用点操作符调用一个对象实例的成员函数时,对象实例所属的类在编译时要被检查,以确保调用的成员函数在该类中是存在的。在运行时,对象实例可以指向所声明类型的子类的实例。在这?copy;情况下,如果子类覆盖了要调用的成员函数,Java就用实例来决定调用哪一个成员函数。如下面的例子,两个类是子类和超类的关系,子类覆盖了超类的成员函数。

classA{voidcallme(){System。out。println(”在A的callme成员函数里”);}}

classBextendsA{voidcallme(){System。out。println(”在B的callme成员函数里”);}}

classDispatch{publicstaticvoidmain(Stringargs''){Aa=newB();a。callme();}}

有趣的是,在成员函数main里,我们把变量a声明为类型A,然后把类B的一个实例存放到它上面。我们在a上调用成员函数callme,Java编译器确定在类A确实有成员函数callme,但是在运行时,由于a事实上是B的实例,所以调用B的callme,而不调用A的。下面是运行结果:C:》javaDispatch在B的callme成员函数里

5。14final

在缺省情况下,所有的成员函数和实例变量都可以被覆盖。如果你希望你的变量或成员函数不再被子类覆盖,可以把它们声明为final。这意味着将来的实例都依赖这个定义。例如:finalintFILE_NEW=1;finalintFILE_OPEN=2;finalintFILE_SAVE=3;fianlintFILE_SAVEAS=4;finalintFILE_QUIT=5;final变量用大写标识符是一个一般的约定。

洪荒老祖已无敌  要说多少次,我不是人奸!  史上最拽的十个女人  道君且慢  天空大陆  东北谜踪  闲巫在都市  众语皆悲  娘亲V5父皇很欠抽  魅魔模拟器  荒界实录  产生物  上古卷轴天际之子  黄帝内经实用手册  游神传说之界王  节妇的悠然生活    元宝传奇  穿越之正妻诱惑 02.25完结+1番外  鬼夜  

热门小说推荐
都市最强狂帝

都市最强狂帝

一代仙帝傲古绝今,却不想被最喜爱的孽徒偷袭,身死魂不灭,穿越地球。虽在都市,可问道之心不减,虽从头开始,但依旧自信有我无敌!登天路,踏九霄,吾身在处即是道场,犯吾道场者杀,闯吾道场者死!...

男神——经养成游戏

男神——经养成游戏

喜欢养成游戏吗?想要自养另一半吗?想要养一个世界只有你的人吗?不论是软妹子,软汉子,糙汉子,超男神,只要你敢想,就能创造。不想创造你的十全十美吗?那么请打开男神养成游戏,来养一个苹果吧,来创造一个你所爱着的男神吧。热((((苏奕就是被这么一条消息所吸引,怀着一颗超级小(((心进入了男神养成游戏。作为资深养成游戏玩家,苏奕表示养成游戏毫无难度。玩过之后才明白,这游戏有点不一样。你见过黑化值和白化值的游戏吗?你见过稍微不注意就给自己加点的养成对象吗?你见过两种相对属性完全融合的养成对象吗?当温柔忠犬被养成了腹黑妖孽美人养成洁癖可爱受,当黑化与圣母并存苏奕╯‵□′╯︵┻━┻系统告诉我,你是不是看上我了!系统╮ ̄▽ ̄╭才发现吗亲爱的玩家,先在开启新攻略对象,新攻略对象系统。玩家加油哦!苏奕我要去一个人静一静!苏奕不管我有多平凡,不管你们陪伴我的时间如何短暂,不管这是不是一个游戏,不管我最后是不是养歪了你们,对你们的爱不掺杂一点虚假。日更,时间暂定下午两点左右,字数暂定4000每章。╮ ̄▽ ̄╭估计会走肥章的道路,字数看剧情。来自作者的友情提示1会有全民坑谨慎。日更。2本书饱含温柔黑化攻,洁癖攻,妖孽萌攻,非人类攻等。1你问我为什么这么多攻结尾1了不就知道了吗。3本文梗来自于箱娘游戏,如有出入请勿探究。4重点必看作者文笔渣,慎入。5这篇文的脑洞会十分曲折,慎入。小天使点击传送门↓↓渣作者完结文...

原始社会种田记

原始社会种田记

穿越到男多女少的原始社会,顿时变成了香馍馍的木小花深觉,压力好大!!!面对落后的原始社会,木小花表示,有空间在手,大米会有,蔬菜会有,水果也会有,什么新鲜好吃的都会有某原始鲜肉大胆表示我最鲜!最好吃!你值得拥有!木小花狠狠咽了下口水。...

无敌神灵

无敌神灵

这是一个有着宅男倾向的大学生,偶然间吞噬了一个有着传奇境界的法师灵魂,并获得了其传承,拥有穿越到其他世界的能力,并逐步成长到世界之巅乃至位面最强的传说。我一定会成为世界上最巅峰的存在!受到传奇法师灵魂影响的大学生,将此当作毕生目标。本书特色种类繁多的各种职业职业特长各种见过或没见过的魔兽异兽各种功能的宝物位面世界暂时包括英雄无敌神奇宝贝火影暗黑破坏神各完本小说1完本一部斗破之巅峰。因为很多人反应不够霸气,没有后宫,太憋屈,不好看,所以本书改进很多,至少不会有憋屈的感觉。当然,理智是必不可少的。2更新不给力,但一定完本,请大家放心阅读。3本人没事弄了一下,已和电话绑定,请大家放心收藏。4请喜欢的书友投我两票,给我鼓励和信心。...

你被我承包了

你被我承包了

程若,我可以给你五年时间,这五年你是自由的,但是,五年后,你属于我,永远都我的人,永不背叛。霸道总裁李熙强势的宣布了程若的命运。李熙,说好的五年呢!程若愤怒的把李熙压倒在床,拳头挥了上去。这场游戏我看腻了。你是我的。除了我是男的,我又什么比不上童心?只是,这场爱恋,李熙主导了前半段,他永远猜不到结局,程若他不是普通人,他有能力改变自己的命运希望大家喜欢,谢谢。...

每日热搜小说推荐