java - 识别同一包中的变量和方法时出现问题

标签 java

我了解如何使用和导入外部包,但我以前从未打包过自己的类。我读了Oracle Tutorial on Creating a Package ,然后查看了 In Java, what's the difference between public, default, protected and private除了包上的几个站点/SO 线程之外。对于我的一生,我无法弄清楚为什么这个非凡的简单示例不起作用:

package PTest;

public class A
{
    protected final int SIZE = 10; 

    public void printSize()
    {
        System.out.println(SIZE);
    }
}

package PTest;

public class B
{
    public static void main(String[] args)
    {
        System.out.println(SIZE);
        hello();
    }
}

我使用了eclipse的自动打包功能,所以我假设实际打包是正确的。这是一张图片,显示它们确实包装正确: enter image description here

如您所见,protected SIZEpublic hello() 都未被识别。我在 eclipse 之外尝试过这个,也无济于事。任何帮助将不胜感激。

最佳答案

SIZEA 对象的实例字段。您需要将其设为静态字段。即使如此,它仍然是 A 类的成员,因此您必须指定 A.SIZE 才能在 B 中使用它。

关于java - 识别同一包中的变量和方法时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18094682/

相关文章:

java - 无法在 Linux 上加载 OpenCV - undefined symbol 错误

java - Spring MVC 测试框架 - 不支持的媒体类型

java - 从文件系统加载对象后更新 GUI

java - CheckboxField 在 Blackberry java 应用程序中给出 StackOverflow 错误

c# - 编程语言(Java/C#/C++/Python/…)中不同构造的速度

java - Red5:创建视频流的服务器端缩略图?

java - Spring 3 MVC Hibernate 3.5.4 hibernateTemplate 不关闭连接(非事务性)

java - 从数组中删除重复项并写入文本文件

java - 更改 PDF 旋转文本的字体

java - 为什么在使用 SaxParser 解析 xml 标记时缺少某些字符?