1. 程式人生 > 實用技巧 >Java日誌第22天 2020.7.27

Java日誌第22天 2020.7.27

類作為成員變數型別

public class Hero {

    private String name;
    private int age;
    private Weapon weapon;

    public Hero(){
    }

    public Hero(String name, int age, Weapon weapon) {
        this.name = name;
        this.age = age;
        this.weapon = weapon;
    }

    public void attack(){
        System.out.println(age
+ "歲的" + name + "使用" + weapon.getWeaponName()+"進行攻擊"); } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; }
public Weapon getWeapon() { return weapon; } public void setWeapon(Weapon weapon) { this.weapon = weapon; } }
public class Weapon {

    private String weaponName;


    public Weapon(){
    }

    public Weapon(String weaponName){
        this.weaponName = weaponName;
    }

    
public String getWeaponName() { return weaponName; } public void setWeaponName(String weaponName) { this.weaponName = weaponName; } }
public class DemoMain {

    public static void main(String[] args) {
        Hero hero = new Hero();

        hero.setName("亞瑟");
        hero.setAge(15);

        hero.setWeapon(new Weapon("大寶劍"));

        hero.attack();
    }
}

結果如下:

介面作為成員變數型別

public interface Skill {
    public void realseSkill();
}
public class Hero {
    private String name;
    private Skill skill;

    public Hero(){
    }

    public Hero(String name, Skill skill) {
        this.name = name;
        this.skill = skill;
    }

    public void attack(){
        System.out.print(name + "使用");
        skill.realseSkill();

        System.out.println("釋放技能完成!");
    }
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Skill getSkill() {
        return skill;
    }

    public void setSkill(Skill skill) {
        this.skill = skill;
    }
}
public class DemoMain {

    public static void main(String[] args) {
        Hero hero = new Hero();

        hero.setName("亞瑟");

        Skill skill = new Skill() {
            @Override
            public void realseSkill() {
                System.out.println("震雷削");
            }
        };
        hero.setSkill(skill);
        hero.attack();
    }
}

介面作為方法的引數或返回值

import java.util.ArrayList;
import java.util.List;

public class DemoInterface {
    public static void main(String[] args) {
        //左邊是介面名稱,右邊是實現類名稱,這是多型寫法
        List<String> list = new ArrayList<>();

        list = addNames(list);

        for (int i = 0; i < list.size(); i++) {
            System.out.println(list.get(i));
        }
    }

    public static List<String> addNames(List<String> list){
        list.add("迪麗熱巴");
        list.add("古力娜扎");
        list.add("馬爾扎哈");
        list.add("沙揚娜拉");
        return list;
    }
}

結果如下:

今天的內容很簡單,但應用到以前的知識還是很多的遺忘,有些程式碼的過程有些模糊用法。

不能這樣啊啊,還是要多多複習,熟練掌握用法,不能應用到稍微複雜的案例是就搞不清用法。

明天開始Object這個最高父類的學習了!