继承和隐藏方法的问题&类

时间:2010-09-01 18:33:38

标签: java

我有关于从类继承(扩展)方法以及从main中隐藏一些类和方法的问题:)

假设我有A级和A级类B.类B有方法1.我需要在A类中使用该方法(方法1),但同时我需要从main中隐藏该类(B类及其方法)。

我的意思是我只想从A类(或任何其他类别,比如C类)处理方法1我不希望它在主要中被看到。我不想让main从类B创建一个实例来使用方法1的可能性。我需要这样做,因为当我为我的类创建一个jar文件时,有些类有我不喜欢的方法不希望他们出现。这些类只在我创建jar文件时才使用它们。

我怎样才能隐藏这些类和方法?我希望我的解释清楚......

请不要告诉我做这些事情,因为我想到了它,它不起作用::)

1)对于我不希望它们显示的方法使用private,因为我不能这样做。因为,它是一个不在同一个类中的独立类,当我在函数附近放置私有时,我根本不能使用它,只有它可以使用同一个类。

另外,

2)将所有函数放在同一个类中,因为我需要用带有分隔文件的类来组织我的代码:)

非常感谢伙计们......

3 个答案:

答案 0 :(得分:4)

您可以通过为您的课程使用不同的包来解决您的问题:

将包含main()方法的类放入包m中。 然后将类A放入包a并将其公开。 将类B放在包a中,并使其仅受包保护(跳过公钥字)。

现在,您可以从A访问课程main(),但无法访问课程B

答案 1 :(得分:3)

最有可能你想要包受保护的方法。如果省略可见性修饰符(无publicprotectedprivate),则该方法对同一包中的所有类都可见。

答案 2 :(得分:0)

我认为您希望protected访问;这些方法将由子类可见,可调用和可覆盖,但对其他类是隐藏的。