java 隐藏父类方法,java 子类继承父类成员变量的隐藏、实现方法的重写
成員變量的隱藏和方法的重寫(xiě)
Goods.java
public class Goods {
public double weight;
public void oldSetWeight(double w) {
weight=w;
System.out.println("double型的weight="+weight);
}
public double oldGetPrice() {
double price = weight*10;
return price;
}
}
CheapGoods.java
public class CheapGoods extends Goods {
public int weight;
public void newSetWeight(int w) {
weight=w;
System.out.println("int型的weight="+weight);
}
public double newGetPrice() {
double price = weight*10;
return price;
}
}
Example5_3.java
public class Example5_3 {
public static void main(String args[]) {
CheapGoods cheapGoods=new CheapGoods();
//cheapGoods.weight=198.98; 是非法的,因?yàn)樽宇?lèi)對(duì)象的weight已經(jīng)是int型
cheapGoods.newSetWeight(198);
System.out.println("對(duì)象cheapGoods的weight的值是:"+cheapGoods.weight);
System.out.println("cheapGoods用子類(lèi)新增的優(yōu)惠方法計(jì)算價(jià)格:"+
cheapGoods.newGetPrice());
cheapGoods.oldSetWeight(198.987); //子類(lèi)對(duì)象調(diào)用繼承的方法操作隱藏的double型變量weight
System.out.println("cheapGoods使用繼承的方法(無(wú)優(yōu)惠)計(jì)算價(jià)格:"+
cheapGoods.oldGetPrice());
}
}
子類(lèi)對(duì)繼承父類(lèi)方法的重寫(xiě)
University.java
public class University {
void enterRule(double math,double english,double chinese) {
double total=math+english+chinese;
if(total>=180)
System.out.println("考分"+total+"達(dá)到大學(xué)最低錄取線");
else
System.out.println("考分"+total+"未達(dá)到大學(xué)最低錄取線");
}
}
ImportantUniversity.java
public class ImportantUniversity extends University{
void enterRule(double math,double english,double chinese) {
double total=math+english+chinese;
if(total>=220)
System.out.println("考分"+total+"達(dá)到重點(diǎn)大學(xué)錄取線");
else
System.out.println("考分"+total+"未達(dá)到重點(diǎn)大學(xué)錄取線");
}
}
Example5_4.java
public class Example5_4 {
public static void main(String args[]) {
double math=64,english=76.5,chinese=66;
ImportantUniversity univer = new ImportantUniversity();
univer.enterRule(math,english,chinese); //調(diào)用重寫(xiě)的方法
math=89;
english=80;
chinese=86;
univer = new ImportantUniversity();
univer.enterRule(math,english,chinese); //調(diào)用重寫(xiě)的方法
}
}
Java 子類(lèi)繼承父類(lèi)成員中的問(wèn)題
之前搞錯(cuò)了,變量沒(méi)有“重寫(xiě)”一說(shuō),只有方法才能被“重寫(xiě)”.如果我們?cè)谧宇?lèi)中聲明了一個(gè)和父類(lèi)中一樣的變量,那么實(shí)際的情況是,子類(lèi)的內(nèi)存堆中會(huì)有類(lèi)型和名字都相同的兩個(gè)變量. 現(xiàn)在考慮一種情況,如下所示,我 ...
成員變量的隱藏,方法的覆蓋,super關(guān)鍵字
成員變量的隱藏:當(dāng)父類(lèi)和子類(lèi)有相同的成員變量時(shí),即定義了與父類(lèi)相同的成員變量時(shí),就會(huì)發(fā)生子類(lèi)對(duì)父類(lèi)變量的隱藏.對(duì)于子類(lèi)的對(duì)象來(lái)說(shuō),父類(lèi)中的同名成員變量被隱藏起來(lái),子類(lèi)就會(huì)優(yōu)先使用自己的成員變量,父類(lèi)成 ...
Java傳遞程序員變量
解決方案雖然簡(jiǎn)單,不過(guò)若是想不起來(lái)就麻煩啦,好方法往往簡(jiǎn)單. ??????? 1.如何在一個(gè)java文件叫A里用另一個(gè)java文件叫B的方法叫method()? ??????????? ...
Java基礎(chǔ)17-成員變量、return關(guān)鍵字和多參方法
1.成員變量 在類(lèi)中聲明的變量為成員變量 //Dog類(lèi) class Dog{ String name;//成員變量 } public class Test1{ public static void m ...
Java中“==”與equals的區(qū)別以及equals方法的重寫(xiě)
一.“==”與equals的區(qū)別: (1)==代表比較雙方是否相同: 基本數(shù)據(jù)類(lèi)型表示值相等. 引用數(shù)據(jù)類(lèi)型表示地址相等,即同一個(gè)對(duì)象. (2)Object中的equals()方法:是否為同一個(gè)對(duì)象的 ...
Java類(lèi)成員(成員變量和方法)的覆蓋與隱藏歸納
以前就知道重寫(xiě)override和重載overload的區(qū)別,平時(shí)也是逮著用就是了,Eclipse報(bào)錯(cuò)再說(shuō). 最近看一本書(shū)里面出現(xiàn)了重寫(xiě).替換.覆蓋.置換.隱藏.重載,簡(jiǎn)直亂得不行,歸納整理一下. 從全 ...
java子類(lèi)對(duì)象和成員變量的隱寫(xiě)&;方法重寫(xiě)
1.子類(lèi)繼承的方法只能操作子類(lèi)繼承和隱藏的成員變量名字類(lèi)新定義的方法可以操作子類(lèi)繼承和子類(lèi)新生命的成員變量,但是無(wú)法操作子類(lèi)隱藏的成員變量(需要適用super關(guān)鍵字操作子類(lèi)隱藏的成員變量.) publ ...
Java中方法的重寫(xiě)與成員變量的隱藏
這篇文章討論了Java面向?qū)ο蟾拍钪幸粋€(gè)基本的概念–Field Hiding(隱藏成員變量) 在討論這個(gè)問(wèn)題之前,我們看一段特別特別簡(jiǎn)單的代碼,請(qǐng)問(wèn)一下方法的數(shù)據(jù)結(jié)果是什么? public class ...
阿里 Java 手冊(cè)系列教程:為啥強(qiáng)制子類(lèi)、父類(lèi)變量名不同?
摘要: 原創(chuàng)出處 https://www.bysocket.com 「公眾號(hào):泥瓦匠BYSocket 」歡迎關(guān)注和轉(zhuǎn)載,保留摘要,謝謝! 目錄 父子類(lèi)變量名相同會(huì)咋樣? 為啥強(qiáng)制子類(lèi).父類(lèi)變量名不同? ...
隨機(jī)推薦
使用idea創(chuàng)建maven的web項(xiàng)目
如果是第一次打開(kāi)軟件直接點(diǎn)擊?Create New Project?,如果之前已經(jīng)打開(kāi)過(guò)項(xiàng)目了,需要點(diǎn)擊菜單中?File?→ New Project …?如下圖: 選擇?Maven module?,輸 ...
IOS中如何判斷APP是否安裝后首次運(yùn)行或升級(jí)后首次運(yùn)行
對(duì)于是否為首次安裝的App可以使用如下方法來(lái)判斷 [[NSUserDefaults standardUserDefaults] boolForKey:@"firstLaunch"] ...
12-C語(yǔ)言字符串
目錄: 一.字符串 二.字符串輸入輸出函數(shù) 三.指針數(shù)組(字符串?dāng)?shù)組) 回到頂部 一.字符串 1 一組字符數(shù)組,以數(shù)組的首地址開(kāi)始,以ASC碼的'\0'結(jié)束. 2 字符串與普通數(shù)組的區(qū)別:普通數(shù)組沒(méi)有 ...
Java Web 錯(cuò)誤排查
排查404 1.?檢查web.xml,有沒(méi)有放在web-inf下面,再檢查過(guò)濾器有沒(méi)有配置 struts
Visual Studio 2015+InstallShield 2015
下載Installshield http://learn.flexerasoftware.com/content/IS-EVAL-InstallShield-Limited-Edition-Visua ...
iCheck的全選和獲取value
一.全選 在使用jQuery iCheck 插件的時(shí)候遇到了一個(gè)問(wèn)題,就是當(dāng)我們使用普通的js全選功能無(wú)效了. $("#checkall").click( function(){ ...
【Delphi】基于狀態(tài)機(jī)的串口通信
通信協(xié)議 串行通信接口(如RS232.RS485等)作為計(jì)算機(jī)與單片機(jī)交互數(shù)據(jù)的主要接口,廣泛用于各類(lèi)儀器儀表.工業(yè)監(jiān)測(cè)及自動(dòng)控制領(lǐng)域中. 通信協(xié)議是需要通信的雙方所達(dá)成的一種約定,它對(duì)包括數(shù)據(jù)格式. ...
文件名中含有連續(xù)字符abc,相應(yīng)文件中也含有字符串a(chǎn)bc
find ./ -name '*abc*' -exec grep 'abc' {} -H \; find ./ -name '*abc*' | xargs -I '{}' grep abc {} -H ...
【Loadrunner】性能測(cè)試報(bào)告實(shí)戰(zhàn)
一.一份好的性能測(cè)試報(bào)告需要遵循什么規(guī)則? 好的報(bào)告只需要遵循3點(diǎn)即可:清晰的結(jié)構(gòu).簡(jiǎn)要的語(yǔ)言以及數(shù)據(jù)的對(duì)比. 二.如何用Loadrunner自動(dòng)到處HTML以及word版的報(bào)告? 1.導(dǎo)出html格 ...
.NET移動(dòng)開(kāi)發(fā)環(huán)境搭建
開(kāi)發(fā)工具:Xamarin Studio 社區(qū)版 下載地址 http://www.monodevelop.com/download/ 操作系統(tǒng)要求:Windows7及以上..NET Framework4 ...
總結(jié)
以上是生活随笔為你收集整理的java 隐藏父类方法,java 子类继承父类成员变量的隐藏、实现方法的重写的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: es6字符串添加html标签,JavaS
- 下一篇: GitHub上热门的Java开源项目