【问题标题】:How can I use a local variable to use a method from another class in BlueJ?如何使用局部变量来使用 BlueJ 中另一个类的方法?
【发布时间】:2012-11-28 13:36:55
【问题描述】:

基本上我有两个类 Country 和 City。在城市中,我有一个名为 getSize 的方法。我想在 Country 类中使​​用此方法,所以我尝试使用此方法:

City c = City.getSize(); 

要将方法存储为局部变量,但我收到有关不兼容类型或静态方法的错误?

【问题讨论】:

    标签: java class variables methods local


    【解决方案1】:

    你能显示错误吗?

    你为什么不创建

    City c = new City(); 
    int size = c.getSize();
    

    【讨论】:

    • 我不太明白?我认为您可以创建一个局部变量,您可以将其用作对另一个类的引用。在以前的一个中,我想从一个名为 bid 的类中获得最高出价,所以我使用了这个
    • 我不太明白?我认为您可以创建一个局部变量,您可以将其用作对另一个类的引用。在以前的一个中,我想看看哪些地段被竞标了。为此,我使用 for 循环遍历 ArrayList,然后使用读取 Bid bid = lot.getHighestBid 的行来访问 Lot 类中的方法,以便 bid 是代表最高出价的新变量。我很困惑?是否值得上传代码?
    • 我真的不明白你的意思-如果对你很重要,你可以上传代码。
    【解决方案2】:

    如果您的方法 getSize 不是静态的,您应该这样做:

    City c = new City();
    int size = c.getSize(); // use the returned value (assuming it is returning an integer)
    

    如果方法是静态的,那么你可以直接使用它的类名:

    int size = City.getSize();
    

    但我认为您需要第一个,因为所有城市实例的大小都不同。

    提问:To store the method as a local variable

    Answer : 你不能在 java 中做这样的事情。您应该首先创建该类的一个实例,然后您可以使用该实例多次调用该方法。

    【讨论】:

    • 尽管您说它必须是静态的,但第一种方法仍然有效。最后我使用了 int size = city.getSize();在变量大小中引用 getSize 方法。非常感谢您的帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-12-22
    • 1970-01-01
    • 1970-01-01
    • 2018-01-24
    • 2018-12-08
    • 1970-01-01
    • 2020-09-23
    相关资源
    最近更新 更多