4-05 构造方法的定义、重载、调用、使用

(1)定义商品类Goods,

成员变量有:商品名称(name),单价(price),库存量(inventories)。

*对这3个属性进行封装。

方法有:

① show(),用于输出商品的成员变量值,每个成员变量值之间用空格分隔。

② 定义无参的构造方法。

③ 定义带2个参数的构造方法,参数分别表示商品名称、单价属性的值。

④ 定义带3个参数的构造方法,参数分别表示商品名称、单价、库存量的值 。

(2)定义测试类GoodsDemo,包含主方法。

创建并使用Goods类的对象,给对象的属性赋值,通过show()方法输出属性值。

主方法功能要求如下:

① 调用无参构造方法,创建对象1,输出对象,再通过调用setXXXX方法给对象赋值,输出对象1。

② 调用带2个参数的构造方法,创建对象2,输出对象2。

③ 调用带3个参数的构造方法,创建对象3,输出对象3。

import java.util.Scanner;



/*public*/ class Goods{

    private int price;

    private int inventories;

    private String name;

    //定义三个构造方法

   /* class*/ public Goods()

    {

	   

    }

	 /*class*/public Goods(int x,int y)

	{

		price=x;

		inventories=y;

	}

    public Goods(int x,int y,String c)

    {

    	price=x;

		inventories=y;

		name=c;

    }

    //show()函数

    public /*static*/ void show()

    {

    	System.out.println(name+" "+price+" "+inventories);

    }

   //访问私有属性

    public /*static*/ String getname()

	{

		return name;

	}

	public /*static*/ int getintx()

	{

		return price;

	}

	public /*static */int getinty()

	{

		return inventories;

	}

	//给属性赋值

    public /*static*/ void setname(String name1)

	{

		//Scanner sc=new Scanner(System.in);

		//name1=sc.next();

	    name=name1;

	}

	public /*static*/ void setintx(int x1)

	{

		//Scanner sc=new Scanner(System.in);

		//x1=sc.nextInt();

		price=x1;

	}

	public /*static */void setinty(int y1)

	{

		//Scanner sc=new Scanner(System.in);

		//y1=sc.nextInt();

		inventories=y1;

	}

}



import java.util.*;

public class GoodsDemo {

	public static void main(String[] args) {

		// TODO Auto-generated method stub

        Scanner sc=new Scanner(System.in);

        Goods p1=new Goods();

        p1.show();

        p1.setname("appple");

        p1.setintx(3);

        p1.setinty(100);

        p1.show();

        Goods p2=new Goods(5,300);

        p2.show();

        Goods p3=new Goods(6,200,"orange");

        p3.show();

        

	}



}

*该代码是第一次写,刚开始语法还生疏有错误,错误的语法没被删,而是注释掉了,给一个纠错作用,如有初学者也刚开始和我写的一样,可以多思考思考。
运行结果演示

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值