java中方法的重写
本文主要讲述java中方法重写的细节
代码结构如图:
Animal类:
public class Animal { private String name; protected int age; int weight; private int height; public Animal() { } public Animal(String name, int age, int weight, int height) { this.name = name; this.age = age; this.weight = weight; this.height = height; } public void eat(String name){ System.out.println(name +" animal在吃东西..."); } private Object info(){ return name+","+weight+","+age; } }
Dog类:
public class Dog extends Animal{ private String brand; public Dog (){ super(); } public Dog(String name, int age, int weight, int height, String brand) { super(name, age, weight, height); this.brand = brand; } // 重写细节1: // 子类的方法名和形参列表要和父类的完全相同。 public void eat(String name){ System.out.println(name + " dog在吃东西..."); } // 重写细节2: // 子类的方法返回类型可以与父类相同,或者是父类返回类型的子类。 public String info(){ return brand; } // 重写细节3: // 子类方法不能缩小父类方法的访问权限。 // public > protected > 默认 > private }
Test类;
public class Test { public static void main(String[] args) { Dog dog = new Dog(); dog.eat("Tom"); } }
重载的细节:
① 子类的方法名,形参列表和父类要保持一致。
② 子类方法返回类型可以与父类保持一致,或者是父类的返回类型的子类。
③ 子类方法的使用范围大于等于父类方法的使用范围,public > protected > 默认 > private。