我有关于从类继承(扩展)方法以及从main中隐藏一些类和方法的问题:)
假设我有A级和A级类B.类B有方法1.我需要在A类中使用该方法(方法1),但同时我需要从main中隐藏该类(B类及其方法)。
我的意思是我只想从A类(或任何其他类别,比如C类)处理方法1我不希望它在主要中被看到。我不想让main从类B创建一个实例来使用方法1的可能性。我需要这样做,因为当我为我的类创建一个jar文件时,有些类有我不喜欢的方法不希望他们出现。这些类只在我创建jar文件时才使用它们。
我怎样才能隐藏这些类和方法?我希望我的解释清楚......
请不要告诉我做这些事情,因为我想到了它,它不起作用::)
1)对于我不希望它们显示的方法使用private,因为我不能这样做。因为,它是一个不在同一个类中的独立类,当我在函数附近放置私有时,我根本不能使用它,只有它可以使用同一个类。
另外,
2)将所有函数放在同一个类中,因为我需要用带有分隔文件的类来组织我的代码:)
非常感谢伙计们......
答案 0 :(得分:4)
您可以通过为您的课程使用不同的包来解决您的问题:
将包含main()
方法的类放入包m
中。
然后将类A
放入包a
并将其公开。
将类B
放在包a
中,并使其仅受包保护(跳过公钥字)。
现在,您可以从A
访问课程main()
,但无法访问课程B
。
答案 1 :(得分:3)
最有可能你想要包受保护的方法。如果省略可见性修饰符(无public
,protected
或private
),则该方法对同一包中的所有类都可见。
答案 2 :(得分:0)
我认为您希望protected
访问;这些方法将由子类可见,可调用和可覆盖,但对其他类是隐藏的。