面向对象

// 新建类,Npc.java
package tiny.geeker;

public class Npc {
    String name; // 生成npc名字
    double blood; // 给npc加血量

    public void printName() {
        System.out.println("创建的NPC是:" + name);
    }

    public void printBlood() {
        System.out.println("创建的NPC是:" + name + ",它的血量为:" + blood);
    }
}

// 调用
package tiny.geeker;

public class Test {
    public static void main(String[] args) {
        Npc npc = new Npc();

        npc.name = "德玛西亚";
        npc.blood = 999999;

        npc.printName();
        npc.printBlood();
    }
}

初识类

注意事项

package tiny.geeker;

public class Test {
    public static void main(String[] args) {
        Npc npc = new Npc();
        // 类成员变量本身存在默认值,一般不需要赋初始值
        System.out.println(npc.name);
        System.out.println(npc.blood);

        // 对象和对象之间的数据不会影响
        Npc npc1 = new Npc();
        npc1.name = "德玛西亚";
        npc1.printName();

        Npc npc2 = new Npc();
        npc2.name = "飞兔小哥";
        npc2.printName();

        // 多个变量指向同一个对象时就会相会影响
        Npc npc3 = new Npc();
        Npc npc4 = npc3;
        npc3.name = "德玛西亚";
        npc3.printName();
        npc4.name = "飞兔小哥";
        npc3.printName();

        // 如果某个对象没有一个变量引用它,那么该对象就会成为垃圾对象
        Npc npc5 = new Npc();
        npc5 = null;
        npc5.printBlood();
    }
}

注意事项

▷ this关键字

this关键字
使用this

构造

package tiny.geeker;

public class Npc {
    public Npc() {
        System.out.println("我是构造方法");
    }
}

构造方法

重载构造方法

  • 前面方法的重载中,知道当方法名字一样,参数不一样的时候就叫方法的重载,那么构造器的重载也是同样的,但是也叫 有参构造器

重载构造方法

实体

package tiny.geeker;

public class Npc {
    private String name;
    private double blood;

    public Npc() {
    }

    public Npc(String name, double blood) {
        this.name = name;
        this.blood = blood;
    }

    public String getName() {
        return name;
    }

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

    public double getBlood() {
        return blood;
    }

    public void setBlood(double blood) {
        this.blood = blood;
    }
}

实体类

案例:英雄搜索

package tiny.geeker;

public class HeroAction {
    private Hero[] heros;

    public HeroAction(Hero[] heros) {
        this.heros = heros;
    }

    public void printAllHeros() {
        System.out.println("-----所有的英雄信息如下-----");
        for (int i = 0; i < this.heros.length; i++) {
            Hero h = heros[i];
            System.out.println("id:" + h.getId() + " 名称:" + h.getName() + " 血量:" + h.getBlood());
        }
    }

    public void getHeroById(int id) {
        System.out.println("-----检索的英雄信息如下-----");
        for (int i = 0; i < this.heros.length; i++) {
            Hero h = heros[i];
            if(h.getId() == id) {
                System.out.println("id:" + h.getId() + " 名称:" + h.getName() + " 血量:" + h.getBlood());
                return;
            }
        }
        System.out.println("没有该英雄信息");
    }
}

英雄类

原文地址:https://blog.csdn.net/weixin_41635750/article/details/134415706

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_42582.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注