У меня есть проект библиотеки с двумя пакетами, например package1 и package2 с классом 1 и классом 2 соответственно. class1 имеет некоторые общедоступные методы, доступные для конечного пользователя. Я хочу добавить несколько методов утилиты в class1, доступ к которым может получить только класс2. Я много искал, но не смог найти какой-либо модификатор доступа для способа предоставления доступа только для разных пакетов одного и того же проекта.
Есть ли у него какой-либо шанс достичь этого каким-либо образом?
UPDATE (пример кода):
Класс1 в пакете1:
package com.example.package1;
public class Class1 {
// This method should only be accessed by Class2, cannot made it public for
// every class
void performUtilityOperation() {
// internal utility
}
// other public methods...
}
Класс2 в пакете2:
package com.example.package2;
import com.example.package1.*;
public class Class2 {
Class1 class1;
public void setClass1(Class1 class1) {
this.class1 = class1;
}
public void doSomeOperation() {
this.class1.performUtilityOperation(); // here this method is not
// accessible if not public
// do some other operations
}
// other public methods
}