本人是大学生,想询问一下这些都是什么意思,有没有相应的实例,以及都用到了继承和实现,方法的重载的场景实例之类的(能有代码功能说明的注释)
13条回答 默认 最新
- 语言-逆行者 2022-11-25 09: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无用
悬赏问题
- ¥20 测距传感器数据手册i2c
- ¥15 RPA正常跑,cmd输入cookies跑不出来
- ¥15 求帮我调试一下freefem代码
- ¥15 matlab代码解决,怎么运行
- ¥15 R语言Rstudio突然无法启动
- ¥15 关于#matlab#的问题:提取2个图像的变量作为另外一个图像像元的移动量,计算新的位置创建新的图像并提取第二个图像的变量到新的图像
- ¥15 改算法,照着压缩包里边,参考其他代码封装的格式 写到main函数里
- ¥15 用windows做服务的同志有吗
- ¥60 求一个简单的网页(标签-安全|关键词-上传)
- ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法