所以我有这个类(我们称之为“A”),这个get()
方法返回一个类字段,我想从另一个类(“B”)访问它。重要提示:两个类都是abstract
. 这些类是相同的package
(package private
对于所有A
和B
成员)。该类Main
没有包(或者更好的是,默认包)。
[之前:扭曲无用的描述]
我需要从B
课堂上访问A
'sget()
方法。
试过:
Aobj.get()
1)从 -located 根对象开始的非静态调用main
,但它似乎想要静态调用(奇怪,没有一个成员是static
);
2)试图静态访问它,我得到了Cannot make a static reference to the non-static field
错误(当然)。
...所以我被困住了,仍然遇到访问语法错误,我尝试了两种方式。有什么建议吗?
编辑 :
所以我走到了尽头。我现在将尝试解释我的错误。
基本上,问题是我想从包中的类访问位于Main
类(默认包)中的对象。所以我遇到了能见度问题。
在其他情况下,我会解决导入类的问题,但我发现您无法导入位于默认包中的类,因此我创建了一个main
包并Main
在类中导入了B
类。
我一直犯的最严重的错误是认为我必须 main.main(String[])... etc ...Aobj
从 main
自身开始访问,这是一个非常糟糕的想法(仍然无法弄清楚我是怎么想的)。
事实上,就像 Stephen C 指出的那样:
不管包的情况如何,也不管你通过其他类的路径如何,这是真的。
最后,代码示例......老实说,现在的代码与我写这个问题的日子真的不同,老实说我无法重现错误的情况,因为我不记得我试图尝试的所有错误逻辑达到。(我的错。)这次我只想好好解释一下自己。
感谢大家试图提供帮助。