1. 程式人生 > >2017.12.13T19_B2_6.3內部類

2017.12.13T19_B2_6.3內部類

必須 extends animal 接口 nim extend imp getname per

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("小狗在啃骨頭!");

************************************

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();

2017.12.13T19_B2_6.3內部類