java基础四 private关键字和购物系统案例

java笔记4

private关键字

private关键字
(1)修饰成员:可以修饰成员变量和成员方法
(2)特点:被private修饰的后的成员只能在本类中被访问
(3)private的应用:定义类的时候,当把成员变量给private修饰时,需提供对应的getXxx()和setXxx()方法 ,这样提高了数据的安全性。

class Person
{
    private int age;//age被声明成private
    public void setAge(int num)
    {
        age=num;
    }
    public int getAge()
    {
        return age;
    }
 
}
 
 
class PersonDemo
{
    public static void main(String[] args)
    {
        Person p =new Person();
     	// p.Age=10//age由于是priva,因此类外无法通过对象访问,无法使用
        p.setAge(10);
      
        //System.out.println(p.age);//age由于是priva,因此类外无法通过对象访问,无法使用
        System.out.println(p.getAge());//只能通过get访问
    }
}

~~

购物系统案例

案例需求
定义一个类,描述订单信息
订单id
订单所属用户(用户对象)
订单所包含的商品(不定数量个商品对象)
订单总金额
订单应付金额:
总金额满1000,打折98折
总金额满2000,打折95折
总金额满3000,打折90折

在此基础上,还要看用户的vip等级
用户vip等级为:黄金vip,则折上折:98
用户vip等级为:钻石vip,则折上折:96
用户vip等级为:至尊vip,则折上折:92

代码

创建Product类

package Shopping;

public class Product {
	public String Pname;
	public String Pid;
	public float Price;
	public int Pnumber;
 //	public float sumPrice =this.Pnumber*this.Price;
		
	
	
	public Product(){};
	//下面这个东西叫做构造方法
	public Product(String Pname,String Pid, float Price,int Pnumber){
		this.Pname=Pname;
		this.Pid=Pid;
		this.Price=Price;
		this.Pnumber=Pnumber;
	};
	
	
	

}

创建User类

package Shopping;

public class User {

	String userName;
	String userId;
	String vipLevel;
	public User(){}//使其可以传空对象

	public User(String userName,String userId,String vipLevel ){
		this.userName=userName;
		this.userId=userId;
		this.vipLevel=vipLevel;}
	
	
	
}

创建Order类

package Shopping;


import java.util.ArrayList;

public class Order {
	public String orderId;         //public可以让他在其他地方能够引用
	public User orderUser;
	public ArrayList<Product> productList;
	public float amountFee ;
	public float toPayFee ;
	
	
	//计算总金额
	public void setAmountFee(){
	float sum=0;
	for(int i=0;i<this.productList.size();i++){
	sum=sum+this.productList.get(i).Price*this.productList.get(i).Pnumber;
	}
	this.amountFee=sum;
	}
	
	//计算应付金额
	public  void setToPayFee(){
		float tmp=this.amountFee;
		
		//根据总金额的第一层计算
		if (this.amountFee>=1000&this.amountFee<2000){
		tmp=amountFee*0.98f;}
		
		if (this.amountFee>=2000&this.amountFee<3000){
		tmp=amountFee*0.95f;}
		
		if (this.amountFee>=3000){
		tmp=amountFee*0.90f;}
		
		//根据VIPlevel的第二层计算
		if (this.orderUser.vipLevel.equals("黄金vip")){
			tmp=tmp*0.98f;}
		
		if (this.orderUser.vipLevel.equals("钻石vip")){
			tmp=tmp*0.96f;}
		
		if (this.orderUser.vipLevel.equals("致尊vip")){
			tmp=tmp*0.92f;}
		
		this.toPayFee=tmp;
		
		
		
	
	
	}


		
	
	
	
	
	

	
	
	
	
	
	
	
	
	
	
}

测试

package Shopping;

import java.io.ObjectInputStream.GetField;

public class OrderTest {
	public static void main(String[] args) {
		
		
		//创建用户的对象
		User user1=new User();
		user1.userId="1";
		user1.userName="林孝荣";
		user1.vipLevel="黄金vip";
		
		//创建商品的对象
		Product pd1=new Product();
		pd1.Pname="作业本";
		pd1.Pnumber=2;
		pd1.Price=13;
		pd1.Pid="1";
		
		Product pd2=new Product();
		pd2.Pname="铅笔";
		pd2.Pnumber=3;
		pd2.Price=21;
		pd2.Pid="2";
//		System.out.println(pd1.sumPrice);
		
		//创建订单的对象
		Order od1 =new Order(); //创建订单的类
		od1.orderId="1";
		od1.orderUser=user1;
		od1.productList.add(pd1);
		od1.productList.add(pd2);
		od1.setAmountFee();
		od1.setToPayFee();
		
		System.out.println(od1.productList.get(1));
	}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值