2015-06-24 2 views
0

Я создал пакет под названием MathArithmetic, который будет содержать четыре основных класса арифметических операторов, которые будут иметь метод внутри, чтобы возвращать результат при вызове для добавления, вычитания, разделения и умножения.Как импортировать все классы из пользовательского пакета

Однако, если у меня есть несколько классов внутри пакета, то как я могу использовать оператор import для всех классов. Например, java.util. *; импортирует все классы и методы из пакета java.util.

В настоящее время каждый пакет содержит:.

package MathArithmetic 
public class Addition { 
     public int addNumbers(int...numbers) { 
      int sum = 0; 
      for(int i : numbers) 
       sum += i; 
      return sum; 
     } 
} 

По существу, я хочу назвать MathArithmetic *; для вызова класса для добавления, вычитания, умножения и разделения. Моя текущая проблема заключается в том, что я вызываю MathArithmetic.Addition; MathArithmetic.Subtraction; [...]

Вместо того, чтобы называть MathArithmetic. *; вместо. Каков наилучший способ сделать это?

Во-вторых, каждый из классов MathArithmetic, таких как:

package MathArithmetic 
public class Addition { 

} 

все в отдельных файлах. Если я ставлю их в один большой файл, например, как:

public class Addition {} 

public class Subtraction {} 

public class Division {} 

public class Multiplication {} 

Тогда он будет говорить, что класс должен быть помещен в отдельный файл. Возможно ли иметь все эти файлы классов в одном файле, а не в четырех отдельных файлах?

+0

Этот вопрос может помочь вам: http://stackoverflow.com/questions/968347/can-a-java-file-have-more-than-one-class – Matthias

+0

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

ответ

0

Вы либо импортируете все классы этого пакета, используя «*», либо импортируете отдельные классы.

Если вы хотите, чтобы все классы были одинаковыми, эти классы должны находиться внутри основного класса, на котором указан этот java-файл.

+0

Я понял, что ответил на свой вопрос, начиная с MathArithmetic. *; внезапно работал там, где раньше этого не было. Тем не менее, чтобы каждый класс в одном файле предлагал создать один открытый класс, содержащий main, тогда у вас есть другие классы, содержащиеся внутри основного, а затем это должно работать. – Baleroc

+0

главный способ не требуется. Я имел в виду, что когда вы создаете класс, java-файл также называется одним и тем же. теперь, если вы хотите сохранить другие классы только в этом java-файле, вам нужно сохранить внутри класса контейнера этого java-файла. Рассмотрите возможность установки правильного модификатора доступа в этих подклассах, он изменяет способ доступа к ним. –

Смежные вопросы