導航:首頁 > 編程語言 > java重寫

java重寫

發布時間:2022-02-13 01:08:39

java重寫

在對父類方法進行重寫時,需要遵循「兩同兩小一大」的原則。兩同:方法名、形參列表相同,兩小:子類方法的返回值類型要比父類方法的返回值類型小或相等,子類方法拋出的異常應比父類方法拋出的異常類型小或相等。一大:子類方法的訪問許可權要比父類方法的訪問許可權大或相等。

㈡ Java中的重寫

在Java中如何來定義重寫:Java程序中類的繼承特性可以產生一個子類,子類繼承父類就擁有了父類的非私有的屬性(方法和變數),在子類中可以增加自己的屬性(方法和變數),同時也可以對父類中的方法進行擴展,以增強自己的功能,這樣就稱之為重寫,也稱為復寫或者覆蓋。所謂方法重寫就是子類的方法和父類中繼承下來的方法具有完全相同的方法名、返回值類型、方法的參數個數以及參數類型,這樣才能被稱為方法重寫。
代碼體現:
// 這是父類的定義
public class Person {
public void eat() {
System.out.println("=====這是父類Person的eat方法=======");
}
}

// 這是子類的定義
public class Student extends Person {
@Override
public void eat() {
System.out.println("===這是子類Student的eat方法===");
}

// main方法測試
public static void main(String[] args) {
Student student = new Student();
student.eat(); //輸出:===這是子類Student的eat方法===
}
}
子類重寫父類的方法後,在實例化子類的時候則調用的是子類中的方法,父類的方法就如同被覆蓋了一樣。如果在子類中需要調用父類的方法,則在子類方法中使用super關鍵字調用父類的方法,格式:super.父類中的方法名。

㈢ java中方法重寫具體是什麼

方法重寫,就是一個類繼續了另一個類的時候,對父類的方法重新實現!

這個重新實現,就是使用相同的方法名,相同的參數列表和返回類型,訪問控制符使用和父類相同或者更寬。

舉例:
class F {
public String m(String s) {
return s;
}
}

class C extends F {
@Override
public String m(String s) {
return s+"extends";
}
}

㈣ java 如何重寫一個文件

直接上代碼:

Filef=newFile("my.txt");
if(!f.exsit()){
f.getParentFile().mkdirs();//創建父目錄
f.createNewFile();//創建文件自身
}
FileWriterfw=null;]
try{
fw=newFileWriter(f);
fw.write("我的內容 ");
fw.write("我的內容 ");
fw.close();
}catch(Throwablee){e.printStackTrace();//把異常給輸出出來
}finally{
if(fw!=null)try{fw.close();}catch(Throwablee){)//關閉文件

}

㈤ java中方法重寫的實例子

importjava.util.*;
publicclasszilei{
publicstaticvoidmain(Stringarg[]){
System.out.println("請輸入兩個正整數:");
Scannerreader=newScanner(System.in);
inta=reader.nextInt();
intb=reader.nextInt();
Aaa;
Bbb;
aa=newA();
bb=newB();
intd=aa.f(a,b);
System.out.println("最大公約數:"+d);
intk=bb.f(a,b);
System.out.println("最小公倍數:"+k);
}
}
classA{
publicintf(inta,intb){
intr=a%b;
while(r!=0){
a=b;
b=r;
r=a%b;
}
returnb;
}
}
classBextendsA{
publicintf(inta,intb){
intm=super.f(a,b);
return((a*b)/m);
}
}
這里classB的f(inta,intb)方法就重寫了父類的相同方法。

㈥ Java中的重寫和重載

class ju{
static int chang=15;
static int kuan=10;
static int mj;
static int zc;
public void mj(){
System.out.println(mj=chang*kuan);
}
public void zc(){
System.out.println(zc=(chang+kuan)*2);
}
}
class zheng {
public void mj(int chang,int mj){
this.chang=chang;
this.mj=mj;
System.out.println(mj=chang*chang);
}
public void zc(int chang,int zc){
this.chang=chang;
this.zc=zc;
System.out.println(zc=4*chang);
}
}
public class text{
public static main(String args[]){
ju jm=new ju();
zheng zm=new zheng();
jm.mj();
zm.mj();
jm.zc();
zm.zc();
}
}

㈦ java怎麼重寫一個方法

抽象方法:在類中沒有方法體的方法,就是抽象方法。
你類中的抽象方法就沒有裡面的語句,也就是說你這根本就不符合抽象方法的定義。

如果不是抽象方法super.get()
class A{
void get(){ int i=1;i++;}
}
public class B extends A{
public static void main(String args[]) {

B b = new B();
b.get();
}

void get(){
super.get();
}

}

㈧ java中的方法重寫

理論上說方法重寫只要參數列表和名稱相同就可以認為已經是重寫~~不過方法重寫一般都和原來的方法一摸一樣~~也就是方法名、參數列表、返回值都和原方法一樣~~要實現方法重寫的話必須得繼承相應的父類~~並且在子類里有一個和父類的某一個方法相同的一個方法~~如果是在本類里存在的相同的方法是重載而不是重寫~~

㈨ java 重寫方法

final 和static 的方法不能被重寫 但是靜態的方法可以被重新定義
你那個不是重寫 是重新定義 重新定義不屬於多態范疇
所以他只看引用類型 但是java也強烈建議你千萬不要用引用去訪問靜態變數或靜態方法,因為那樣你會邏輯混亂
你用的f其實就是子類型,根本沒有多態的,就算是調用重寫的非靜態方法還是體現不出多態性
那麼其調用的grow一定是重新定義的子類方法
然而
Amphibian.grow(f);
來說 你在grow參數里聲明的是父類的引用 但是你卻把一個子類實例傳遞進來
多態性在這體現了 首先調用的是父類的靜態沒疑問了 然而a.eat();出現了多態行為
父類引用指向子類對象 調用的是子類重寫的方法

㈩ java中的方法重寫舉例

在子類中寫一些和父類中一模一樣的方法,這就是重寫了.就叫得寫了父類的這些方法.

閱讀全文

與java重寫相關的資料

熱點內容
php獨立運行 瀏覽:530
手機sh執行命令 瀏覽:727
雲伺服器的角色 瀏覽:733
單片機頻率比例 瀏覽:840
我的世界伺服器如何關閉正版驗證 瀏覽:504
如何查roid伺服器上的 瀏覽:130
安卓手機主板如何撬晶元不掉電 瀏覽:249
php各個框架的優缺點 瀏覽:101
php1100生成數組 瀏覽:359
以後做平面設計好還是程序員好 瀏覽:552
雲伺服器應用管理 瀏覽:438
飢荒雲伺服器搭建過程 瀏覽:186
可編程式控制制器優點 瀏覽:99
壓縮垃圾車說明書 瀏覽:28
五輪書pdf 瀏覽:802
單片機定時流水中斷系統流水燈 瀏覽:701
u8如何連接伺服器配置 瀏覽:66
動力在於緩解壓力 瀏覽:867
報考科一用什麼app 瀏覽:346
knn人臉識別演算法 瀏覽:431