对几个小问题的个人理解

package com.baidu.entity; // entity 代表实体包 * 实实在在存在的物体

public class Product {
   private String proName;

public String getProName() {
return proName;
}

public void setProName(String proName) {
this.proName = proName;
}
   
}


package com.baidu.entity;
/**
 * 定义一个超市类
 * @author lenovo
 *数据类型 :基础数据类型  应用数据类型
 */
public class Market {
/**
 * 第一步 定义变量
 */
  private String marketName;
  private Product [] productArray;
  public String getMarketName() {
return marketName;
}
public void setMarketName(String marketName) {
this.marketName = marketName;
}

public Product[] getProductArray() {
return productArray;
}

public void setProductArray(Product[] productArray) {
this.productArray = productArray;
}

/**
  * 定义一个卖货的功能
  *  卖的商品 所以选择为商品类型
  *  商品类是第一个环节定异的第一个类 叫做 Product
  *  返回的事商品类型 原因是买的东西为商品
  *  
  */
  public Product sell(String name){
  for (int i = 0; i < productArray.length; i++) {
if (productArray[i].getProName()==name) {    (1)  return productArray[i];这个函数的意思大
return productArray[i];                               概是遍历数组如果和输入的name相等则返回productArray[i]; 但是我
}                                                                     不懂为什莫要返回到数组中的一个数据能(是不是后面的要用,
}                                                                              如果是的话希望能帮我指出)
  return null;
  }
 	}  

个人理解:这个方法并不是return数组中的一个数据,而是返回一个查询出来的对象,对象中包含很多信息。对于这个例子来说,对象只有一个属性,所以没有多大意义,但是对于其他程序来说,



package com.baidu.entity;

public class Person {
 private  String name;
 public String getName(){
 return name;
 }
 public void  setName(String name){
 this.name=name;
 
 }
 public Product shopping(Market market,String name){               (2)此处为什莫要定义一个market和name?  ,返回的
 return market.sell(name);                                 sell(name)  我知道是输入name调用上面那个便利数组的函数,但是前面为什莫要在前面加个market。本人不太
 }                                                                         理解reuturn 只知道int getSum(int a , int y){
                                                                            //	return a + y;
                                                           当getsum(3,4) 得到七。这种最基本的


个人理解:并没有定义market和name。那两个是你需要传入的参数。就比如说你要实现shipping的功能,就必须有market和name这两个条件,才会给你返回一个你要买的对象。return出来的是market类里的sell方法出来的返回值,就是上面的Product对象





package com.baidu.entity;

import org.junit.Test;

public class ShoppingTest {
    @Test
public void goShoppingTest(){                 实例化之后为什莫赋值时要在前面加上实例化的对象能的?而且其他的都是一个实例化对象
    	Product p1=new Product();            对应一个值,而m1却对应赋值了两个
    	Product p2=new Product();
    	Product p3=new Product();
    	Product p4=new Product();
    	Product p5=new Product();
    	 p1.setProName("橘子");
    	 p2.setProName("橙子");
    	 p3.setProName("李子");
    	 p4.setProName("栗子");
    	 p5.setProName("松子");
    	 
    	 Market m1= new Market();
    	m1.setMarketName("水果摊");
    	 m1.setProductArray(new Product[]{p1,p2,p3,p4,p5});(4) 此处为什么new Product[]{p1,p2,p3,p4,p5这个的目的我知道 但是无法理解这个过程??
    	 
    	 Person p =new Person();
    	 p.setName("子安");
    	 
    	 Product result=p.shopping(m1, "橙子");            (5)这个m1 对应得是前面函数中Market market,但是
    	 if (result != null) {                             橙子是字符类,但是m1怎末就是Market类,上面实例化m1给了m1一个类吗??/
System.out.println(p.getName()+"在"+ m1.getMarketName()+"买到了"+result.getProName());
}else{
System.out.println(p.getName()+"白跑了一趟"+m1.getMarketName()+"神魔也没");
}
    }



个人理解: 5) 传入什么类型的参数,看方法定义。shopping方法定义就是一个参数market类,一个string类。


猜你喜欢

转载自blog.csdn.net/yitian_66/article/details/79731190