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); } }
注意事項:那麼什麼樣的纔算重載呢。
方法名稱必定是同樣的。
函數的參數類型,個數,順序。至少有一個不同。
方法的修飾符能夠不同
方法的返回值能夠不同
若是隻是返回參數不同那麼不是重載(會報錯)