Есть ли что-нибудь на линии друга функции существуют в Java? - PullRequest
1 голос
/ 25 января 2011

Привет, я хочу реализовать метод на линии функции друга в C ++. Как я могу это сделать? Если это не так, почему Java не нуждается в этом? Пожалуйста, предложите, как реализовать это .. как в примере:

public class A {//some variables and methods..private and protected to be used by methods in Class B}
public class B {}

Ответы [ 2 ]

2 голосов
/ 25 января 2011

Да, что-то существует.Классы Java, объявленные в одном и том же пакете, могут иметь доступ к своим членам-партнерам, не являющимся частными.

Это одно из мест, где Java и C ++ действительно расходятся, и вам необходимо получить конкретное представление оJava способ не выстрелить себе в ногу.

0 голосов
/ 25 января 2011

Наличие друга в C ++ фактически нарушает принципы OO Design. Это удобство, но если вы педантичны, это не правильный путь.

Лучший способ в Java, как предложено в постах выше, т.е. иметь либо внутренние классы, либо иметь их в одном пакете.

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...