1. 程式人生 > 其它 >2021-1-22知識點

2021-1-22知識點

一週掌握java入門知識

學習內容

java大資料基礎知識(八)

一.java介面

接口裡的方法都是抽象方法
介面方法規範用public修飾;
舉例:

public interface APAttack {
	/*
	 * 接口裡的方法都是抽象方法
	 * 介面方法規範用public修飾;
	 */
	public void maiAttack(Hero h);
	
}

一個普通類(非抽象類)只能繼承一個父類,但是可以繼承多個介面.(實現多個介面用","隔開)
舉例:

public class AP extends Hero implements APAttack,LongAttack{
/* * @Override叫註解,屬於java高階程式設計裡面的知識點 * 作用是告訴我們,這個方法是重寫的方法 */ @Override public void maiAttack(Hero h) { // TODO Auto-generated method stub System.out.println(this.getName()+"讓"+h.getName()+"眩暈3秒"); }

解析:AP是Hero的子類,具有APAttack,LongAttack這兩個介面。

介面的呼叫舉例:

public class Demo01
{ /* * 1.新建一個Tank型別物件叫亞瑟 * 2.新建一個AP型別物件叫安其拉 * 3.讓坦克物理攻擊(attack)安其啦 * 4.安其拉攻擊(魔法攻擊,再遠端攻擊)坦克 */ public static void main(String[] args) { Tank h1 = new Tank(); AP h2 = new AP(); h1.setName("亞瑟"); h2.setName("安其拉"); h1.phyAttack(h2); h2.maiAttack(h1); h2.longAttack
(h1); } }

解析:h2是AP的物件,呼叫介面的方式就是:

物件 介面名(有引數/無引數)

二.向上造型和向下造型

向上造型:
用父類或者介面型別的引用,指向子類或實現介面的類的物件。
舉例:

public class Demo02 {
	/*
	 * 向上造型:
	 * 		用父類或者介面型別的引用,指向子類或實現介面的類的物件
	 */
	public static void main(String[] args) {
		/*
		 * 三句向上造型的程式碼
		 * 	向上造型的優點:
		 * 		利用向上造型去做形參,可以接收所有子類物件作為形參,看PhyAttack接口裡面的方法.
		 */
		APAttack a1 = new AP();
		LongAttack l1 = new AP();
		Hero h1 = new AP();}

向下造型:
前提是有過向上造型後,才有向下造型,向下造型一般用於明確子類型別;
舉例:

public static void main(String[] args) {
 *instanceof 用於判斷是否是某種型別;
		 *即a1 instanceof AP表示用於判斷a1是不是AP型別的. 
		 */
		if(a1 instanceof AP) {
			System.out.println("true");
			AP a4 = (AP)a1;
			//再執行AP型別的方法;
			a4.maiAttack(h1);}
			

總結

學習了Java的介面定義和使用,還有向上造型和向下造型的概念。