Facebook Sharer
选择您要替换的背景颜色:
【农历新年】背景图片:
个性化设定
 注册  找回密码
楼主: wo不帅
打印 上一主题 下一主题

我有在java assignment遇到问题。。

[复制链接]

2

主题

0

好友

251

积分

支柱会员

Rank: 4Rank: 4Rank: 4Rank: 4

11#
发表于 2011-6-22 11:02 AM |只看该作者
你说的我大概get到了。。。
只不过getset
wo不帅 发表于 2011-6-22 02:01 AM


google "get set in Java"

你这个我不是很明白。。。
干嘛这个public Car(Car car)里面有两个的?
拿来比较的吗?
this
wo不帅 发表于 2011-6-22 02:07 AM


public class Car
{
private String properti;

public Car()
{
properti="noname";
}

public Car(Car car)//parameter 是Car class
{
this.properti=car.properti;
}
}

int main()
{
Car A=new Car();
Car B=new Car(A);//这里用了copy constuctor,看上面的code, this.properti=A.properti;
                             // 当你在里面用this的时候代表的是invoking 这个constructor的object,所以this.properti也就是B.properti。
}


回复

使用道具 举报

46

主题

6

好友

6456

积分

百变名嘴

Rank: 13Rank: 13Rank: 13Rank: 13

12#
发表于 2011-6-22 01:54 PM |只看该作者
嗯 ... shippo 的是完整的。

没错。

Copy 就是拷贝的意思。
也就是说。
A 车是 2000 CC
Car b 拷贝了 a 车的CC 。

就酱。


回复

使用道具 举报

2

主题

0

好友

251

积分

支柱会员

Rank: 4Rank: 4Rank: 4Rank: 4

13#
发表于 2011-6-22 02:27 PM |只看该作者
copy constructor in java.
不知哪间名校出的题目?


回复

使用道具 举报

31

主题

0

好友

1228

积分

黄金长老

Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8

14#
发表于 2011-6-23 10:17 AM |只看该作者
出这种题目很奇怪吗?
我以前学的时候也是有这样的题目的。

我们叫 default constructor (空的),alternate constructor (with parameter),和 copy constructor。
get set 更麻烦,叫 accessor 和 mutator。
然后还要 equals method 和 toString method。
:-S


回复

使用道具 举报

91

主题

8

好友

1万

积分

无敌名嘴

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

15#
发表于 2011-7-1 01:03 AM |只看该作者
这assignment 的题目怎么跟我的一摸一样啊...

我也是不怎么了解copy constructor的用处
还有equal method..


回复

使用道具 举报

31

主题

0

好友

1228

积分

黄金长老

Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8

16#
发表于 2011-7-1 09:52 AM |只看该作者
等以后你了解到 pass by value 和 pass by reference 的时候,你就会了解到 copy constructor 和 equals method 的用处了。
  1. Car a = new Car("Proton", "JXX 1234");
  2. Car b = new Car("Proton", "JXX 1234");

  3. System.out.println("a == b? " + (a == b) );
  4. System.out.println("a equals b? " + a.equals(b) );
复制代码
Output:
a == b? false
a equals b? true


回复

使用道具 举报

91

主题

8

好友

1万

积分

无敌名嘴

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

17#
发表于 2011-7-1 09:44 PM |只看该作者
等以后你了解到 pass by value 和 pass by reference 的时候,你就会了解到 copy constructor 和 equals me ...
~Zero 发表于 2011-7-1 09:52 AM



    pass by value 是 parameter 啊.. pass by reference 是array 那种对吗? 我会..
equal method 是用来compare 整个object??


回复

使用道具 举报

31

主题

0

好友

1228

积分

黄金长老

Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8

18#
发表于 2011-7-1 10:21 PM |只看该作者
你要自己去定义自己的 equals method 来真正比较。
在 java 所有 primitive variable 以外的东西都是 object,然后当你用 == 在 object 的时候,java 都会拿它们的 reference 来比较,所以结果都不会是你想要的(除非你真的是要比较他们的 reference。很少时候会要这样啦)。所以要自己去定义自己的 equals method 来比较两个 object 里面的真正 value。


回复

使用道具 举报

91

主题

8

好友

1万

积分

无敌名嘴

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

19#
发表于 2011-7-2 01:25 PM |只看该作者
回复 18# ~Zero


    哦哦.. 大概懂..

可是我现在又出问题了..
public class TestProgram {

    public static void main(String[] args) {
                int option;
                Scanner input = new Scanner(System.in);
                item[] book = new item[100];
                int i = 0;
                do{
                        option = Menu();
                        if(option == 1){
                                System.out.println("Enter item code");
                                book.setItemCode(input.nextInt());
                        }

                        if(option < 0)
                                System.out.println("\n>>>>Enter 0 to exit.");
                        i++;
                }while(option != 0);

    }
}

我在尝试用一个loop 来一直store data 进去object book, 可是却出现一下情况..
1. Add new item
2. Search item
3. Modify item
4. Update item quantity
5. Change item status
6. Show all item
-----------------------
Enter option, 0 to exit>> 1
Enter item code
234
Exception in thread "main" java.lang.NullPointerException

at TestProgram.main(TestProgram.java:22)


enter第一次data就停了.. java.lang.NullPointerException 是什么意思? 要怎样解决??


回复

使用道具 举报

31

主题

0

好友

1228

积分

黄金长老

Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8

20#
发表于 2011-7-4 09:58 AM |只看该作者
你的 book 没有 initialize


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

JBTALKS.CC |联系我们 |隐私政策 |Share

GMT+8, 2024-11-17 12:38 PM , Processed in 0.092744 second(s), 21 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

Ultra High-performance Dedicated Server powered by iCore Technology Sdn. Bhd.
Domain Registration | Web Hosting | Email Hosting | Forum Hosting | ECShop Hosting | Dedicated Server | Colocation Services
本论坛言论纯属发表者个人意见,与本论坛立场无关
Copyright © 2003-2012 JBTALKS.CC All Rights Reserved
合作联盟网站:
JBTALKS 马来西亚中文论坛 | JBTALKS我的空间 | ICORE TECHNOLOGY SDN. BHD.
回顶部