本文主要讲述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。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/98986.html