您的位置:首页 > 其它

对几个小问题的个人理解

2018-03-28 18:05 225 查看
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类。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: