2013-04-24 2 views
1

Я видел здесь, на stackoverflow сообщение, где было это простое и ясное резюме о модификаторах доступа в java. Я понимаю все, но только одно странно: что означает слово «Мир»? Что это значит?В java, о модификаторах доступа, что означает слово «мир»?

меня удалить отображение сводке схемы, потому что рендер было странно: s Поэтому, пожалуйста, посмотрите на ссылку ниже >>>

Вот ссылка на сообщение: In Java, difference between default, public, protected, and private

Thks заранее!

+5

Это просто означает, что видимый всем. – hmjd

+0

Видимость в мире является неотражающей видимостью в упаковке. –

+0

Да, мне было интересно, можно ли увидеть исходный код java-приложения? если да, то как? Поэтому это означает, что если я не хочу, чтобы люди видели это, я должен сделать доступ защищенным, верно? – user2305415

ответ

1

Это означает, что если у меня есть класс, как:

package com.example; 

public class Foo { 
    public int bar; 
} 

я могу получить доступ к его «снаружи» в самом общем смысле этого слова, как:

package com.client;   // not in the same package of `Foo` 

class Client {    // not a subclass of `Foo` 
    Foo foo = new Foo(); // possible because `Foo` is world-visible 
    public int foobar() { 
     return foo.bar;  // possible because `bar` is world-visible 
    } 
} 
+0

Okey, спасибо, я понимаю лучше, но откуда вы знаете, что это «видимый во всем мире»? потому что я не могу видеть слово «мир», но, возможно, я думаю, что по умолчанию, если я не укажу, то метод или переменная класса будет неявно «видимым во всем мире»? – user2305415

+0

Это из-за ключевого слова 'public'. Значение по умолчанию действительно видимо в пакете. – Santa

0

«Мир» - это описание видимости при использовании неотражающих ссылок извне пакета, как в справочной системе библиотеки.

+0

Теперь понимают смысл лучшего мира. – user2305415

0

Мир означает, что вы можете вызвать этот метод или получить доступ к этому полю или классу независимо от того, где написано код, независимо от его упаковки, подкласса и т. Д.

Это может быть даже «вселенная», если вы предпочитаете.

+0

Thys, лучше поймите концепцию сейчас. – user2305415

+0

Не «вселенная» - вы не можете получить к ней доступ с Beta Tauri 5. –

+0

@HotLicks Вы могли бы, если бы у вас был мгновенный уровень связи (ICL) с асинхронным протоколом сокета. Не оставляй дома без него. – durron597