本人是大学生,想询问一下这些都是什么意思,有没有相应的实例,以及都用到了继承和实现,方法的重载的场景实例之类的(能有代码功能说明的注释)
13条回答 默认 最新
- 语言-逆行者 2022-11-25 01:06关注
【1】接口:
//定义接口Jumpping public interface Jumpping { //定义抽象方法跳高 public abstract void jump(); }
【2】父类:
//定义抽象的动物类 public abstract class Animal { //定义成员变量 private String name; private int age; //生成无参构造方法 public Animal() { } //生成带参构造方法 public Animal(String name, int age) { this.name = name; this.age = age; } //生成get和set方法 public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } //添加一个吃饭的抽象方法 public abstract void eat(); }
【3】该子类继承父类并实现接口:
/**这里是Cat继承了Animal父类并实现了Jumpping的接口*/ public class Cat extends Animal implements Jumpping{ //重写eat和jump方法,这里就是方法的重载 @Override public void eat(){ System.out.println("猫吃鱼"); } @Override public void jump(){ System.out.println("猫可以跳高了"); } //生成无参和带参拿的构造方法 public Cat() { } public Cat(String name, int age) { super(name, age); } }
【4】测试类:
//定义一个测试类 public class AnimalDome { public static void main(String[] args) { //创建对象,调用方法 Cat c1=new Cat(); //调用方法,这两个方法一个是继承过来、一个是实现接口的 c1.jump(); c1.eat(); System.out.println("----------------------"); //无参构造赋值 c1.setName("加菲猫"); c1.setAge(5); System.out.println("品种:"+c1.getName()+","+"年龄:"+c1.getAge()); //带参构造赋值 c1=new Cat("小花猫",7); System.out.println("品种:"+c1.getName()+","+"年龄:"+c1.getAge()); System.out.println("******************************************"); } } }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 2无用展开全部19条评论