java方法的重載和覆蓋

1、覆蓋java

1.什麼是方法覆蓋子類中有一個方法和父類的方法如出一轍,那麼這就是覆蓋函數

class Stu{//學生類

 private String name;

 private int age;

 public void eat(){

  System.out.println("個人飯量是多少?");

 }

 

}

class Pupil extends Stu{//小學生

 public void eat(){

  System.out.println("我能吃一碗飯");

 }

}

好比以上的代碼中Stu這個類總有一個叫作eat的類而在Pupil中也有一個。那麼在調用Pupil中的eat方法時那麼打印出「我能吃一碗飯」。若是Pupil沒有覆蓋eat那麼打印出來的是「個人放量是多少」code

2.注意事項class

2.1子類方法中的,函數名,返回值,參數要和父類的同樣test

2.2 子類方法不能縮小父類方法的訪問權限權限

 

2、重載float

爲何須要重載(使代碼更簡潔)方法

class jisuan{

 

 public int add(int a ,int b){//兩個整數相加

 return a+b;

}

 public int add2(float a,float b){//兩個浮點數相加

  return (int)(a+b);

 }

}

若是沒有重載的話static

public class test {
 public static void main(String [] args){
  jisuan j = new jisuan();
  j.add(1, 2);
  j.add2(1.1f, 1.2f);
 }
}

有了重載咱們類能夠這樣定義co

class jisuan{

 

 public int add(int a ,int b){//兩個整數相加

 return a+b;

}

 public int add(float a,float b){//兩個浮點數相加

  return (int)(a+b);

 }

}

用的時候

public class test {
 public static void main(String [] args){
  jisuan j = new jisuan();
  j.add(1, 2);
  j.add(1.1f, 1.2f);
 }
}

注意事項:那麼什麼樣的纔算重載呢。

  1. 方法名稱必定是同樣的。

  2. 函數的參數類型,個數,順序。至少有一個不同。

  3. 方法的修飾符能夠不同

  4. 方法的返回值能夠不同

  5. 若是隻是返回參數不同那麼不是重載(會報錯)

相關文章
相關標籤/搜索