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. 若是只是返回参数不同那么不是重载(会报错)

相关文章
相关标签/搜索