(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();
}
}
*该代码是第一次写,刚开始语法还生疏有错误,错误的语法没被删,而是注释掉了,给一个纠错作用,如有初学者也刚开始和我写的一样,可以多思考思考。
版权声明:本文为qq_54196808原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。