2010-09-01 66 views
2

我已经关于从继承类(延伸)的方法和隐藏一些类和方法从主:)问题在继承和隐藏方法及类

问题假设我有A级&类B. B类有方法1,我需要在类A中使用该方法(方法1),但同时我需要从主类中隐藏该类(其方法为B类)。

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

如何隐藏这些类和方法?我希望我的解释是明确的......

请不要告诉我做这些事情,因为我想到这一点,它不工作::)

1)使用私有的我不希望它们显示的方法,因为我不能这样做。因为它是一个不在同一个类中的单独的类,并且当我将这个私有函数放在函数附近时,我根本无法使用它,只有它可以与同一个类一起使用。

此外,

2)把所有的功能在同一个班,因为我需要带班组织我的代码分离文件:)

非常感谢家伙....

+0

再次感谢ü所有球员,乌拉圭回合感谢帮助... 您的解决方案 所有的作品,我和帮助我很多...... 感谢;) – Q8Y 2010-09-02 07:23:14

回答

4

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

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

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

+0

谢谢...它确实工作;) – Q8Y 2010-09-02 07:20:14

3

很可能你想要包保护的方法。如果省略可见性修改器(不是publicprotectedprivate),则该方法对于同一包中的所有类都可见。

+0

感谢。 ..它也工作;) – Q8Y 2010-09-02 07:20:34

0

我想你想protected访问;这些方法将是可见的,可调用的,并且可以被子类覆盖,但是对其他类是隐藏的。

+0

非常感谢 我使用保护的方法,我省略(公共)类... 它的工作原理完美;) – Q8Y 2010-09-02 07:21:50