我需要一个java方法,可以从我的API中的任何地方访问,但无法使用API​​从应用程序访问

Tra*_*man 5 java api methods access-modifiers modifier

我正在开发一个java API.在我的开发过程中,我一直面临以下问题:

我在两个不同的包中有两个类.包x中的A类,包y中的B类.我需要类A来访问类B中定义的方法M.因此,应该用于方法M的修饰符是public.但是,我不想让在他/她的java应用程序中使用我的API的开发人员访问方法M.问题是方法M有一个public我提到的修饰符,因此任何人都可以在API中访问它或来自API之外.同时,如果我将方法M的修饰符级别降低到protectedprivate,则类A将无法访问方法M,因为它属于不同的包.我怎么解决这个问题?我唯一的解决方案是在同一个包中有A和B吗?

Rai*_*con 0

限制对特定类的访问的唯一方法是使方法受保护或包私有。两者都只允许在包内访问。我建议重新格式化您的包结构。