2021-1-22知識點
阿新 • • 發佈:2021-01-24
一週掌握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的介面定義和使用,還有向上造型和向下造型的概念。