2016-05-13 2 views
-1

ОК, поэтому я искал в Интернете около часа, но я не нашел решения для своего класса Computer Science. Итак, у меня есть две папки, скажем, folder1 и folder2, и в этих папках есть .java-файлы. В папке1 у меня есть файл folder1.java, а в папке2 у меня есть файл folder2.java.Импорт java-файлов из разных папок?

В folder2.java У меня есть только методы, так это выглядит следующим образом:

class folder2{ 
    public static String ........ 
    //here are all of the methods 
} 

И в folder1.java У меня есть выполнение этих методов в folder2.java:

class folder1{ 
    public static void main(String[] args){ 
     executeMethodFromFolder2JavaFile(); 
    } 
} 

Как я могу это сделать?

+2

Вам будет полезно ознакомиться с пакетами, баночками и путями классов. –

ответ

1

В процессе, который вы выполняете, что-то не так. Это не должно быть так сложно. Возможно, вы следуете неправильному руководству или неправильным принципам. Я пользуюсь этой возможностью, чтобы прояснить это раз и навсегда.

Обратите внимание, что пример кода должен быть образцовым. Не нужно писать что-то в спешке, чтобы быстро закончить. По иронии судьбы, вы в конечном итоге тратите больше времени, когда вы это делаете.

Прежде всего, вы должны обратить внимание на имена :: имена классов, методов, полей, переменных и пакетов (потратьте некоторое время на то, что каждый из них означает). Это не какая-то заповедь, а просто удобство. Правила не сложны, на самом деле довольно просто:

  1. Названия классов, которые вы бы назвали физическими объектами с заглавными (первые буквы с верхним) именем. В конце концов, Java - это язык программирования, который в первую очередь способствует объектно-ориентированному мышлению. После того, как вы выделили сущности, вы назовете их ясно и просто. Примерами могут служить: Employee, Student, Fish, Square, City, State, Person и т.д.
  2. методы Имя, как поведение и переменные как временные вещи. Эти имена должны начинаться с строчной буквы. Примеры имен методов являются walk, run, draw, read, write и т.д. Примеры поля и имен переменных color, state, ready т.д. Переменными, известные как переменных цикла должны быть названы i, j, k и т.д.

Обратите внимание, есть нарушения этих, что вы видите (например, единственный метод в Java, что делает класс исполняемым довольно странно с именем main, но давайте просто признать, что кажущуюся аномалию без обиды).

Теперь, применив его к вашему случаю, давайте начнем с двух классов Shape и Painter. Первая представляет собой форму, которая может быть, например, draw. Не нужно начинать с пакетов сразу. Я буду использовать синтаксис Unix в следующем примере:

  1. Открыть редактор. Создайте файл с именем Shape.java и добавьте содержимое.
  2. В той же папке на вашем компьютере создайте еще один класс под названием Painter.java.
Shape.java 

public class Shape { 
    public void draw() { 
     System.out.println("Shape#draw"); 
    } 
} 

Painter.java 

public class Painter { 
    public static void main(String[] args) { 
     Shape shape = new Shape(); 
     shape.draw(); 
    } 
} 

Вот так. Компиляция Painter.java и запустить его:

  1. javac Painter.java
  2. java Painter
➜ /tmp javac Painter.java 
➜ /tmp java Painter 
Shape#draw 

Введем теперь пакеты. Давайте поместим Painter в пакет с именем actor и Shape in вещь. Проще говоря, пакеты - это папки в файловой системе. Они имеют логическое сочетание функциональности как модуля, блока.

  1. MkDir вещь актер
  2. мв Shape.java вещь
  3. мв Painter.java актер
➜ /tmp cat thing/Shape.java actor/Painter.java 
package thing; 
class Shape { 
    public void draw() { 
     System.out.println("Shape#draw"); 
    } 
} 
package actor; 
import thing.Shape; // need to import Shape from thing package now 
class Painter { 
    public static void main(String[] args) { 
     Shape shape = new Shape(); 
     shape.draw(); 
    } 
} 

, что мы добавили package строки в обоих файлах надлежащим образом Примечание.

  1. Javac актер/Painter.java - это потому, что мы переместили Painter.java к пакета имени actor. Обратите внимание: javac был достаточно умен, чтобы узнать, где находится Shape.java (теперь он находится в подпапке с именем thing текущей папки).
  2. java actor.Painter - поскольку класс теперь находится в пакете с именем actor, вы должны сообщить java, чтобы запустить его так.
`Shape#draw` 

Почему так трудно следовать начать с? Конечно, вы должны быстро научиться использовать хорошую среду IDE для Java. Использование IDE является обязательным, если вы должны эффективно выполнять кодирование в Java.

+0

СПАСИБО СМОТРЕТЬ, Я внимательно прочитал ваш комментарий, и я думаю, что сейчас понял. Спасибо за вашу помощь! –

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