Java 面向對象:接口interfaces 實現Implements

package com.neusoft.interfaces;
/**
 * 接口:就是一種規範,只能有“常量”和“抽象方法”,是一種特殊的抽象類
 * 在接口中定義的方法默認都是:public abstract
 * 在接口中定義的常量默認都是:public static final
 * 如何來實現A接口中所有沒實現的方法:我們需要創建一個實現類------實現A接口
 * 接口也是JAVA中的多態表現形式 A aImpl = new AImpl();
 * 接口和抽象類都不能被實例化(new)
 * 類只支持單繼承而接口是支持多繼承的 A extends B,C,D,E
 * 一個類可以是實現一個或多個接口 public class AImpl implements A,B,C
 * 一個類可以繼承一個類/抽象類的同時去實現一個或多個接口 public class AImpl extends Animal implements A,B,C 
 * 使用接口的意義:
 * 接口可以使方法的定義和實現相分離,降低模塊間或系統間的耦合性
 * 接口是比較靈活的,後期的框架的思想都是面向接口來編程的
 */
public interface A extends B,C {
	/**
	 * 接口必須寫註釋
	 */
//	int Max = 10;
	public void eat();
	
	public void sleep();
	
	public void jump();
}
package com.neusoft.interfaces;

public interface B {
	/**
	 * 學習接口
	 */
	public void study();
}
package com.neusoft.interfaces;

public interface C {
	/**
	 * 遊戲接口
	 */
	public void play();
}
package com.neusoft.interfaces;

public abstract class Animal {
	/**
	 * 抽象類
	 */
	public abstract void eat1();
}
package com.neusoft.interfaces;
/**
* 接口的實現
*/
public class AImpl extends Animal implements A,B,C {

	@Override
	public void eat() {
		System.out.println("eat");
	}

	@Override
	public void sleep() {
		System.out.println("sleep");
	}

	@Override
	public void jump() {
		System.out.println("jump");
	}
	
	public static void main(String[] args) {
		AImpl aImpl = new AImpl();
		aImpl.eat();
		aImpl.sleep();
		aImpl.jump();
	}

	@Override
	public void study() {
		// TODO Auto-generated method stub
		
	}

	@Override
	public void play() {
		// TODO Auto-generated method stub
		
	}

	@Override
	public void eat1() {
		// TODO Auto-generated method stub
		
	}
}
package com.neusoft.interfaces;
// 既繼承又實現接口
public class AImpl extends Animal implements A, B, C {

	@Override
	public void eat() {
		System.out.println("eat");
	}

	@Override
	public void sleep() {
		System.out.println("sleep");
	}

	@Override
	public void jump() {
		System.out.println("jump");
	}

	@Override
	public void study() {
		// TODO Auto-generated method stub

	}

	@Override
	public void play() {
		// TODO Auto-generated method stub

	}

	@Override
	public void eat1() {
		// TODO Auto-generated method stub

	}

	public static void main(String[] args) {
		AImpl aImpl = new AImpl();
		aImpl.eat();
		aImpl.sleep();
		aImpl.jump();
	}

}






發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章