2014-09-22 2 views
-2

Как получить доступ к общей функции частного статического внутреннего класса в другом классе Предположим, что есть структура класса, как показано ниже: -Как получить доступ к общедоступному методу в приватном статическом внутреннем классе из другого класса?

public class Outer{ 

    private static Inner { 
    public void func() {  
    } 
    } 
} 

И есть еще один класс: -

class UseFunc {  
    // I have to use the func() here  
} 

Если я использовать, как это будет давать ошибку: - создать объект Inner как Outer.Inner oi = new Outer.Inner(); access oi.func() // как внутренний является частный класс

+1

Вы проверили выше код, какой вывод он дает пользователю Stackoverflow, может ответить на вопрос, когда вы что-то пробовали, и у вас возникла проблема. – JavaBeigner

+1

. В чем смысл сделать класс приватным и метод общедоступным? –

+0

Да, я тестировал это, и он дает ошибку времени компиляции, доступ к которой невозможен, так как Inner является закрытым. – pooja

ответ

0

Хорошо, это очень плохо (I среднее, действительно страшно) осуществление, но это работает:

public class Outer 
{ 

    private static class Inner 
    { 
     public void func() 
     { 
     } 
    } 

    public void encapsulatedFunc() 
    { 
     new Inner().func(); 

    } 

} 


class UseFunc 
{  
    public static void main(String[] args) 
    { 
     new Outer().encapsulatedFunc(); 
    } 
} 

Я могу только представить, что код используется для образовательных целей, как «Что не делать», например.