商苑面馆:Java创建对象

来自CloudWiki
跳转至: 导航搜索

类和对象

类表示一个有共同性质的对象群体,而对象指的是具体的实实在在的物体。

类与对象的关系就如模具和铸件的关系,类是创建对象的模具,而对象则是由类这个模板制作出来的铸件

  • 举例来说,面馆按产品分类,可以分为几类?
 面类,饮料类,小吃类
  • 每一类有什么具体的产品(对象)?
 面类的对象: 火鸡面,炸酱面,刀削面,油泼面
 饮料类对象: 可乐,雪碧,芬达,啤酒,江小白
 小吃类对象: 炸串,卤蛋,麻辣烫,辣白菜

类的成员变量和成员方法

类一般由三部分组成:成员变量,成员方法和构造方法。

  • 类的成员变量是用来描述属性信息的,因此大部分成员变量是以名词的形式出现
  • 类的方法又被称为成员方法(函数),用来描述动作、行为和功能,是一段完成某种功能或操作的代码段
  • 构造方法的作用是创建一个对象并对其完成初始化。

以面馆的面类产品为例:

面类:

  名称;
  类别:(干面,汤面,炒面)
  价格;
  份量;
  口味;
  数量

  增加订单;
  削减订单;
  
 

案例1:面条类

在当前项目下新建包entity, 在entity包中新建Noodle(面条)类

  • 面馆老板建立Noodle类,为它设计成员变量和成员方法

写的时候思考:

  • 怎么为类创建无参的构造方法
  • 怎么为类创建带参的构造方法 ?并且怎样利用带参的构造方法为成员变量赋值 ?
  • 一个类的toString方法应该怎么写?
package 小马哥面馆;

public class Noodle {
	//成员变量
	//名称
	public String name;
	//价格
	public double price;
	//数量
	public int num;
	
	/*构造方法*/
	public Noodle(){
		
	}
	public Noodle(String name,double price,int num){
		this.name = name;
		this.price = price;
		this.num = num;
	}
	//成员方法

        //返回订单信息
	public String toString(){
       	    return "名称:" +this.name+"价格:"+
               this.price + "数量: " + this.num;
        }

	public static void main(String[] args) {
		// TODO Auto-generated method stub
        //调用成员变量
	Noodle n1= new Noodle();
        n1.name="手擀面";
        n1.price = 10;
        n1.num = 2;
        System.out.println("您订的面是"+n1.name);        
        //调用成员方法
        System.out.println(n1.toString());
        
	}

}

案例2: 设计用户类User

在当前项目下新建包entity, 在entity包中新建用户类User

思考:

  • 怎样用无参的构造方法构造一个对象 ?
  • 怎样给一个类的成员变量赋值 ?
  • 怎样输出一个类的全部信息 ?
package entity;

public class User {

	//成员变量
	public String name;
	public String password;

	
	//构造方法
	public User(){
		
	}
	public User(String name,String password ){
		
		this.name=name;
		
		this.password=password;
		
		
	}

	
	//成员方法
	
	 public String toString(){
	      	return "名字:" +this.name+"密码:"+
	              this.password;
	   }
	public static void main(String[] args) {
		// TODO Auto-generated method stub
             User u1= new User();
             u1.name="王二狗";
             u1.password="137927";       
             System.out.println("会员姓名是:"+u1.name);     
             System.out.println(u1.toString());

	}

}