美文网首页
1、this 自引用

1、this 自引用

作者: 爱学习的代代 | 来源:发表于2021-03-11 09:16 被阅读0次

当一个类中的属性和方法里的参数或者局部变量有重名的时候,需要通过this这个关键词来访问初始化对象的实例变量。

例子说明:定义了一个商品类,定义了几个常见的属性,如下图。其中有个count字段表示了当前该商品的库存个数。

程序功能说明: 初始化一个牙刷商品,库存个数为200, 进行库存检查,当小于500,就进行货物的补充。

image.png

附录测试代码:

// 1、Merchandise.java 
public class Merchandise {
    int id;
//  商品名称
    String name;
//  库存个数
    int count;
//  售价
    double soldPrice;
//  进价
    double purchasingRrice;



//  对商品的库存进行修改
    public void changeCount(int count) {
        System.out.println("给商品补货" + count + "个");
        this.count += count;
    }

//  查看商品的库存是否够数据
    public Boolean countIsEnough() {
        if (this.count < 500) {
            System.out.println("商品的个数为"+ this.count + "。库存不足,请补货");
            return false;

        }
        else {
            System.out.printf("商品的个数充足");
            return true;
        }

    }

//  生成get、set 方法
    public void setCount(int count) {
        this.count = count;
    }

    public int getCount() {
        return count;
    }

    public void setId(int id) {
        this.id = id;
    }

    public int getId() {
        return id;
    }

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

    public String getName() {
        return name;
    }

    public void setPurchasingRrice(double purchasingRrice) {
        this.purchasingRrice = purchasingRrice;
    }

    public double getPurchasingRrice() {
        return purchasingRrice;
    }

    public void setSoldPrice(double soldPrice) {
        this.soldPrice = soldPrice;
    }

    public double getSoldPrice() {
        return soldPrice;
    }
}




测试类:

//2、TestMerchandise

public class TestMerchandise {
    public static void main(String[] args) {
        int MAX_COUNT = 500;
        Merchandise m = new Merchandise();
        m.id = 1;
        m.name = "牙刷";
        m.count = 200;
        m.purchasingRrice = 2.3;
        m.soldPrice = 5;


        if (m.countIsEnough() == false) {
            int addCount = MAX_COUNT - m.count;
            m.changeCount(addCount);
        } else {

        }

        System.out.printf(m.name + "商品的库存是:" + m.count);

    }
}


相关文章

  • 1、this 自引用

    当一个类中的属性和方法里的参数或者局部变量有重名的时候,需要通过this这个关键词来访问初始化对象的实例变量。 例...

  • 循环引用的相关问题

    1、循环引用的种类(1)自循环引用(2)相互循环引用(3)多循环引用 如何破除循环引用?(1)避免产生循环引用(2...

  • 2018-12-24

    引用自XXXX网站 引用自XXXX网站 引用自XXXX网站 引用自XXXX网站

  • iOS 循环引用

    1. 循环应用的分类: 自循环引用; 相互循环引用; 多循环引用; 自循环引用: 一个对象中有一个成员变量A; 如...

  • 关于 thinkphp怎么使用mysql里的case when

    实例1:引用自:http://www.thinkphp.cn/topic/33363.html 实例2:引用自:h...

  • 一文弄懂iOS中的循环引用

    三种类型循环引用 1.自循环引用2.相互循环引用3.多循环引用 自循环引用 假如有一个对象,内部强持有它的成员变量...

  • Android中的使用

    引用自 :http://blog.csdn.net/kakaxi1o1/article/details/37595...

  • iOS循环引用梳理

    总结梳理一下循环引用相关的知识点。 循环引用分三种:1.自循环引用,2.相互循环引用,3.多循环引用,这三种就不多...

  • 4-8 循环引用

    3种循环引用 自循环引用 相互循环引用 多循环引用 Block的循环引用 NSTimer 的循环引用 破除循环引用...

  • 内存管理-循环引用

    三种类型循环引用 自循环引用 相互循环引用 多循环引用 自循环引用 假如有一个对象,内部强持有它的成员变量obj,...

网友评论

      本文标题:1、this 自引用

      本文链接:https://www.haomeiwen.com/subject/hhdnqltx.html