本系列博客汇总在这里:Java系列_汇总
目录
一、重写
- 在子类继承父类时,子类的方法和父类的方法相同(访问修饰限制符,返回值类型,方法名,参数列表),方法体不同的。这种子类的方法将父类的方法覆盖掉叫重写。所以外部创建子类调用该方法的时候一定是调用了子类的方法。
- 示例
class Teacher { String name; int age; public void teachJava() { System.out.println("--------------------父类---------------------"); System.out.println(name+"老师在教java"); } public void sleep() { System.out.println("--------------------父类---------------------"); System.out.println("刘老师在睡觉"); } }
//父类里的同名方法被覆盖,实现子类里的方法,这就是重写 //可改变子类的方法名(不要与父类相同),再观察效果 class JavaTeacher extends Teacher { public void teachJava()//与父类方法同名的方法 { System.out.println("--------------------子类---------------------"); System.out.println(name+"老师在教java"); } public void sleep()//与父类方法同名的方法 { System.out.println("--------------------子类---------------------"); System.out.println("康老师在睡觉"); } }
class Welcome { public static void main (String[] args) { JavaTeacher jt = new JavaTeacher(); jt.name = "刘成娟"; jt.teachJava();//父类方法被覆盖 jt.sleep();//父类方法被覆盖 } }
- 示例
class Welcome { public static void main(String[] args) { int a = 1; int b = 2; int c = 3; int result = compareNum(a,b,c); System.out.println("MAX:"+result); } //两个数比较大小 public static int compareNum(int a,int b) { return a > b ? a : b; } //三个数比较大小 public static int compareNum(int a,int b,int c) { return compareNum(a,b) > c ? compareNum(a,b):c; } }
- 重写(override):在父子类的继承中有相同的方法,唯一不同的就是方法体。一般是父类的该方法满足不了子类的需求所以才发生重写。
- 重载(overload):重载是在同一个类中,有着相同的方法名,但是参数的数据类型或者参数的个数不同这两个方法就是重载,重载的目的:节省类中的命名资源和提高代码的可读性。
如有错误,欢迎指正!