会员书架
首页 > 游戏竞技 > java语言入门在线学习 > 第6部分

第6部分(第1/6 页)

目录
最新游戏竞技小说: 我!开局三个天赋技能太多了SS级天赋,代价是变成女生?领主:我愿建立一方乐土王屠霸业心火沸腾你为什么不打篮球?球神双职业,无限重置,阁下如何应对LOL:我真不是演员啊!第四天灾:玩家对抗玩的就是真实足球教练,我选择国足全民巨鱼求生:我能听到巨鱼心声霸球道绽放于冬网游三国:从南海开始,虎视天下网游大神饶了我规则怪谈:贫僧唐三藏,百无禁忌!我的世界之开局无限资源火影之我在木叶砸金蛋

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;”;”中国”);

UniversityWorl

目录
帝心独宠逆天庶女:胖妃要休夫老攻总以为我把他当替身天生赢家[古穿今]绝色宫女是王妃树欲静而风不止
返回顶部