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类。