如何查看其他类的方法

时间:2014-03-24 15:12:43

标签: java class

我有一个班级,我制作了多个方法,但我想将其中一些放在另一个班级,因为他们做了其他的事情。我怎样才能让我的第一堂课仍然使用我的方法?

Class A有15个private static methods(它们是静态的,因为它们只返回值,我不需要定义对象)

我在同一个软件包中创建了Class B,当其中移动了5个方法时,main function from A在使用时不会检测到它们。

2 个答案:

答案 0 :(得分:2)

你的问题是能见度。 private表示只有包装类才能看到这些方法。

将可见性设置为默认值(如果两个类都在同一个包中)或public如果它们位于不同的包中。

例如,A类和B类在同一个包中:

// A.java
public class A {
    static void oneMethod();
}

// B.java
public class B {
    private static void anotherMethod() {
        A.oneMethod();
    }
}

或在不同的包裹中:

// A.java
public class A {
    public static void oneMethod();
}

// B.java
public class B {
    private static void anotherMethod() {
        A.oneMethod();
    }
}

答案 1 :(得分:0)

那是因为您已将方法定义为private。您应该将它们定义为package protected(删除“私有”部分)或public(将public替换为public)。

话虽如此:拥有一个包含15个私有静态方法的类是如此罕见,我会在其中添加标签'bad practice'。你能分享你的代码吗?这些方法做得更清楚了吗?除非你正在创建一个实用程序类,比如说StringUtils,我很确定你根本不需要任何静态方法。