Java对象的产生与使用

来自CloudWiki
跳转至: 导航搜索

对象的产生与使用

类是对象的模板,对象是由类实例化得到,这是创建对象的依据。类也是数据类型,可以使用这种类型来创建该种类型的对象,而Java提供的关键词为new。格式为:

类名  对象名 = new  类名 ([参数1,参数2…]) ;

类的编写

新建一个工程,在工程中创建Noodles类:

Java3-7.pngJava3-8.png

import java.util.Scanner;

public class Noodles {
	//商品的名称
	public String name;
	//商品的价格
	public float price;
	//商品的数量,
	public int num;
	
	//空构造方法	
	public Noodles(){
		
    }
	public Noodles(String n) {
		this.name = n;
	}
	public Noodles(String n,float p) {
		this.name = n;
		this.price = p;
	}
	public Noodles(String n,float p,int num) {
		this.name = n;
		this.price = p;
		this.num = num;
	}
	public float getPrice( ){
	    System.out.println("该商品的价格为 : " + price); 
	    return price;
	}
	public void setPrice(float p) {
		this.price =p;
	}
	public String toString() {
		String str ="您点的是"+this.name+ 
				    " 价格:"+this.price+
				    " 数量:"+ this.num;
		return str;
	}
	public static void main(String[] args) {        
        
	}

}

通过类创建对象

下面定义由类产生对象的语句(以下语句如无特别说明,都在main方法中写):

 Noodles n1= new Noodles();//声明一个Noodle类的对象n1
 Noodles n2= new Noodles("老北京牛肉面",15.0f,3);
  • 由上面例子得出,创建属于某类的对象,可以通过两个步骤来实现:
  1. 声明该类类型的一个变量,实际上它只是一个能够引用对象的简单变量。
  2. 利用new创建对象,并指派给先前所创建的变量。即在内存中划分一块区域存放创建出来的对象,并把该内存空间指向对象的引用。
  • 当然也可以把声明和实例化的过程通过一个语句完成,这种形式为:
Book b1 = new  Book ();


给对象的属性赋值

n1.name="家常手擀面";//给变量赋值
n1.price = 10;//给变量赋值
n1.num = 2;//给变量赋值

获取对象的属性

System.out.print("您点的是"+n1.name);//打印变量
System.out.print(" 价格:"+n1.price);//打印变量
System.out.println(" 数量"+ n1.num);//打印变量
System.out.println(n1);		

调用对象的方法

        float s= n1.getPrice();
        System.out.println("第一份订单原价为:");
        System.out.println(s);//打印变量
        n1.setPrice(15.0f);
        System.out.println("第一份订单调价:");
        System.out.println(n1.toString());//打印变量
        

完整代码

还可以把下面main方法中代码放到主类中的main方法中去写

完整代码如下:

import java.util.Scanner;

public class Noodles {
	//商品的名称
	public String name;
	//商品的价格
	public float price;
	//商品的数量,
	public int num;
	
	//空构造方法	
	public Noodles(){
		
    }
	public Noodles(String n) {
		this.name = n;
	}
	public Noodles(String n,float p) {
		this.name = n;
		this.price = p;
	}
	public Noodles(String n,float p,int num) {
		this.name = n;
		this.price = p;
		this.num = num;
	}
	public float getPrice( ){
	    System.out.println("该商品的价格为 : " + price); 
	    return price;
	}
	public void setPrice(float p) {
		this.price =p;
	}
	public String toString() {
		String str ="您点的是"+this.name+ 
				    " 价格:"+this.price+
				    " 数量:"+ this.num;
		return str;
	}
	public static void main(String[] args) {
		System.out.println("商院面馆欢迎您!");
		Scanner sc = new Scanner(System.in);
		
                System.out.println("请问您想点什么套餐面?");
                String name1 = sc.nextLine();        
        
                Noodles n1= new Noodles();//声明一个Noodle类的对象n1
                n1.name=name1;//给变量赋值
                n1.price = 10;//给变量赋值
                n1.num = 2;//给变量赋值
                  System.out.println("第一份订单:");
                System.out.println(n1.toString());//打印变量
                float s= n1.getPrice();
                System.out.println("第一份订单原价为:");
                System.out.println(s);//打印变量
                n1.setPrice(15.0f);
                System.out.println("第一份订单调价为:");
                System.out.println(n1.toString());//打印变量
                System.out.println("==========================");
                System.out.println("==========================");
                System.out.println("下一位顾客,请问您想点什么套餐面?");
                String name2 = sc.nextLine();  
                System.out.println("第二份订单:");
                Noodles n2= new Noodles(name2,15.0f,3);
                System.out.println(n2.toString());//打印变量 
        
        
	}

}

User类练习题

Java练习题

1.程序练习题:用if...else if语句编程计算下列问题:

计算个人所得税。设某人月收入为x元,假设个人所得税征收方法如下:

  • 当x<=3500时,不需要交税;
  • 当3500<x≤5000时,应征税为(x-3500)* 3%;
  • 当5000<x≤8000时,应征税为(x-5000)* 10% + 1500 * 3%;

2.为创新题目”顺鸟驿站快递管理平台”定义一个类Delivery(汉语意思:快递),并用这个类新建一个对象

3.为“倍添利小微金融管理平台”定义一个类Fin_product(汉语意思:理财产品),并用这个类新建一个对象。理财产品一般包括年收益率、理财周期,是否保本等属性。

练习题答案

1.个人所得税:(计1 孟娜)

package test1;
import java.util.Scanner;
public class chengxu {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner scanner = new Scanner(System.in);
		//获取用户对于菜单的选择
		System.out.println("请输入您的月收入:");
		String wages_value = scanner.next();
		int value = Integer.valueOf(wages_value);
		double tax;
		if(value<=3500) {

		  System.out.println("不需要交税");

		} else if(3500<value && value<=5000){

		  tax=(value-3500)* 0.03;
		  System.out.println("个人所得税应征收:"+tax);

		} else if(5000<value && value<=8000) {

		  tax=(value-5000)* 0.1 + 1500 * 0.03;
		  System.out.println("个人所得税应征收:"+tax);

		} 
                scanner.close();
	}

}

2.快递 (计1 苗璐瑶)

public class Delivery {
	String bid; // 快递编号
	String courier; // 快递员
	String addresses; // 收件人
	int number; // 快递数量
	
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Delivery d1;          //声明一个Delivery类的对象d1
		d1= new Delivery (); //是用new关键字实例化Delivery对象并赋值给d1
		d1.bid = "邮政230000";
		d1.courier = "苗璐瑶";
		d1.addresses = "刘xx";
		d1.number = 4;
		System.out.println("d1.bid="+d1.bid);
		System.out.println("d1.courier="+d1.courier);
		System.out.println("d1.addresses="+d1.addresses);
		System.out.println("d1.number="+d1.number);
		
	}

}

3. 理财 (计1 苗璐瑶)

public class Fin_product {
	Float rate;//年收益率
	String s; // 是否保本
	String planner; // 理财师
	int num; // 理财周期(单位:天)
	
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Fin_product f1;          //声明一个Fin_product类的对象f1
		f1= new Fin_product (); //是用new关键字实例化Fin_product对象并赋值给f1
		f1.rate =0.03f;
		f1.num = 30;
		f1.planner ="苗璐瑶";
		f1.s = "是";
		System.out.println("f1.rate="+f1.rate);
		System.out.println("f1.num="+f1.num);
		System.out.println("f1.planner="+f1.planner);
		System.out.println("f1.s="+f1.s);


	}

}