Java对象的产生与使用
来自CloudWiki
目录
对象的产生与使用
类是对象的模板,对象是由类实例化得到,这是创建对象的依据。类也是数据类型,可以使用这种类型来创建该种类型的对象,而Java提供的关键词为new。格式为:
类名 对象名 = new 类名 ([参数1,参数2…]) ;
类的编写
新建一个工程,在工程中创建Noodles类:
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);
- 由上面例子得出,创建属于某类的对象,可以通过两个步骤来实现:
- 声明该类类型的一个变量,实际上它只是一个能够引用对象的简单变量。
- 利用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); } }