В Java я могу иметь более одного класса / объекта в файле? - PullRequest
1 голос
/ 15 марта 2010

Таким образом, мне сказали, что у вас есть файл, и имя файла Classname.java, а затем код выглядит примерно так:

class ClassName { 
SOME METHODS 
main {} 
}

и тогда все.

Я бы хотел, чтобы два объекта были определены и использованы в одном файле .java. (Я не хочу помещать другой класс в другой файл только потому, что я хотел бы отправить это кому-то, и я хочу избежать хлопот по добавлению нескольких файлов в электронное письмо [хотя ленивый делает хороших программистов, хотя если ты думаешь об этом])

  • возможно ли это сделать?
  • Должен ли я сделать что-то особенное, и если да, то что?
  • Какие ошибки я могу совершить или что вы сделали в прошлом, когда делали это?

Ответы [ 5 ]

4 голосов
/ 15 марта 2010

Да, вы можете иметь два класса, определенных в одном файле. Вы должны определить один из них как открытый, и тот же класс должен соответствовать имени файла. Пример:

file name = Foo.java

public class Foo { 

}

class Bar { 

}
2 голосов
/ 15 марта 2010

Прежде всего, существует разница в объектах и ​​классах. Вы не можете просто использовать их взаимозаменяемо.

Теперь да, вы можете определить несколько классов в одном файле. Но имя файла должно отражать имя класса public, остальные классы не должны быть публичными.

1 голос
/ 15 марта 2010

Вы можете поместить несколько классов в один файл .java.Вы не можете поместить несколько открытых классов в один и тот же файл .java.

Вы можете поместить основной класс (public), а затем другие классы с доступом по умолчанию втот же файл .java.

0 голосов
/ 15 марта 2010

Единственный способ указать несколько классов в одном Java-файле - это использовать внутренние классы.

Так что для Foo.java

вы бы имели:

public class Foo {

  main {}

  public class bar {
    ....
  }

  public class qux {
    ....
  }
}

Подробнее об этом можно прочитать здесь: http://java.sun.com/docs/books/tutorial/java/javaOO/nested.html

0 голосов
/ 15 марта 2010
  • Да, вы можете сделать это, хотя имя должно быть публичным.
  • Нет, ничего особенного делать не нужно.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...