Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > обьвление приватного класса в файле


Автор: zone51 2.9.2009, 09:59
Привет всем. Подскажите пожалуйста почему я не могу в файле с ява кодом обьвить приватный класс? то есть 

Код

private class MyClass {

}

public class test {
    transient int numbr;
    
    public void main(String args[]) {

    }
}



Почему ругается на первый приватный класс? Спасибо  smile  smile  smile 

Автор: taro 2.9.2009, 10:12
private - указывает на область видимости, ограниченное классом. 
в данном случае вы пытаетесь объявить класс, которым никто не сможет воспользоваться. 

Автор: zone51 2.9.2009, 10:22
taro
Спасибо 

а вот если первый класс обьявить паблик то тоже ощшибка но другая получается в пределах одного файла может быть только один Public класс? я думал просто определяется поналичию метода main. Спасибо

Автор: taro 2.9.2009, 10:28
1 модуль  - 1 public класс 

Если не против совета, проглядите автора Эккель, философия Java 
Там довольно подробно объясняется, почему именно так было сделано. 

Автор: fixxer 2.9.2009, 10:43
второй класс можно объявить вообще без квалификаторов, то бишь package-private. Но вообще плохой тон описывать в одном файле несколько классов.

Автор: taro 2.9.2009, 10:58
Цитата(fixxer @ 2.9.2009,  10:43)
плохой тон описывать в одном файле несколько классов.

если они не Inner-классы, конечно 

Автор: fixxer 2.9.2009, 11:03
Цитата(taro @ 2.9.2009,  10:58)
Цитата(fixxer @ 2.9.2009,  10:43)
плохой тон описывать в одном файле несколько классов.

если они не Inner-классы, конечно

конечно smile

Автор: duk 2.9.2009, 21:44
Приватным классом, может быть только внутренний класс:

Код

public class test {
    transient int numbr;
    
    public void main(String args[]) {
    }

    private class MyClass {
    }

}

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)