package com.xdf.demo;
public abstract class Animal { // 所有动物的父类
private String name; // 姓名
private String strain; // 品种
private char sex; // 性别
/**
* 所有动物吃饭的方法
*/
public abstract void eat();
/**
* 所有动物飞行的方法 这样就不允许了 !! 小狗也上天了!!!
* public abstract void fly();
*/
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getStrain() {
return strain;
}
public void setStrain(String strain) {
this.strain = strain;
}
public char getSex() {
return sex;
}
public void setSex(char sex) {
this.sex = sex;
}
public Animal(String name, String strain, char sex) {
super();
this.name = name;
this.strain = strain;
this.sex = sex;
}
public Animal() {
super();
}
@Override
public String toString() {
return "Animal [name=" + name + ", strain=" + strain + ", sex=" + sex
+ "]";
***************************************************
package com.xdf.demo;
// 小鸟类
public class Bird extends Animal implements FlyInterface {// 继承Animal 并且实现 Fly接口
@Override
public void eat() {
System.out.println("小鸟在吃虫子!");
}
// 飞行的能力
@Override
public void fly() {
System.out.println("小鸟在自由自在的飞翔......");
}
********************************************************
package com.xdf.demo;
public class Dog extends Animal { // 只是继承Animal
@Override
public void eat() {
System.out.println("小狗在啃骨头!");
************************************************8
package com.xdf.demo;
/**
* 水鸭 继承了 动物类 实现了 两个接口 飞行接口,游泳接口
*/
public class Duck extends Animal implements FlyInterface, SwimInterface {
@Override
public void swim() {
System.out.println("鸭子 游泳的能力");
}
@Override
public void fly() {
System.out.println("鸭子 飞行的能力");
}
@Override
public void eat() {
System.out.println("鸭子 继承了 动物父类 的 eat");
*************************************************
package com.xdf.demo;
/**
* 飞行能力的接口
* 谁具有飞行的能力,只需要实现这个接口即可
*
* 接口的特点:
* 01.所有的方法都是抽象方法,不允许有普通方法
* 02.接口中的方法必须被 实现类 实现!除非实现类是抽象类或者接口
* 03.接口中所有的变量都是静态常量==》必须要有初始值
* 04.接口解决了java中单根继承的问题,一个类可以实现N个接口
* 05.我们说是类继承父类 实现 接口
* 一个接口可以继承N个接口
* 06.接口也不允许被实例化,更没有构造方法
*/
// public interface FlyInterface extends SwimInterface {
public interface FlyInterface {
// ctrl +shift +x/y 变大写/变小写
static final int NUM = 5;
/**
* 飞行的能力
*/
public abstract void fly();
**************************************************
package com.xdf.demo;
public interface SwimInterface { // 游泳的接口
// 游泳的方法
void swim();