2014-02-03 4 views
0

В настоящее время я работаю над пониманием того, как импортировать другие классы из определенного пакета в Java в другой пакет и определенный класс.Как правильно использовать методы

Мне было интересно, как мне импортировать метод из определенного класса в Java в другой, поскольку я, очевидно, не могу «расширить» этот класс, чтобы получить этот метод с его в каком-то другом пакете.

Пример:

package Responses; 

public class Hello { 

    public static void sayHello() { 
     System.out.print("HELLO!"); 
    } 
} 

Вопрос:

Как импортировать sayHello из класса Hello, которая находится в пакете ответов.

package Start; 

public class Begin { 

    public static void main(String[] args) { 
     sayHello(); 
    } 
} 

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

ответ

0

Импорт класс, что функция находится в:

import Responses.Hello;

Тогда вы можете вызвать функцию: Hello.sayHello();

В Java нет никакого конструкт напрямую импортировать метод, но вы можете импортировать класс, в котором он проживает.

+0

Спасибо! Я добрался до части импорта, но часть методов, о которых я никогда не знал, мог бы сделать это, создав класс и метод рядом друг с другом как таковой. Думаю, вы узнаете что-то новое. – Abszol

+0

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

+0

Правда, методы 'static' могут быть импортированы. Нестатистический не может. Хорошая точка зрения. – therealrootuser

0
import static Responses.Hello.sayHello; 

Затем в другом классе вы можете сделать:

sayHello(); 

Примечание: Вы можете методы только импорта, если они являются статическую.

0

Вы либо импортируете целые классы (A), либо их статические элементы (B).

A:

import responses.Hello; 
public class Begin { 
    String myString = Hello.sayHello(); 
} 

B:

import static responses.Hello.sayHello; // To import all static members use responses.Hello.*; 
public class Begin { 
    String myString = sayHello(); 
} 

Что оракул говорит об использовании статического импорта:

Так что, когда вы должны использовать статический импорт? Очень экономно! Используйте его только в том случае, если в противном случае у вас возникнет соблазн объявить локальные копии констант или злоупотреблять наследованием (Constant Interface Antipattern). Другими словами, используйте его, когда вам требуется частый доступ к статическим членам из одного или двух классов. Если вы злоупотребляете функцией статического импорта, это может сделать вашу программу нечитаемой и недостижимой, загрязняя ее пространство имен всеми статическими членами, которые вы импортируете. Читатели вашего кода (включая вас, через несколько месяцев после того, как вы его написали) не будут знать, из какого класса приходит статический член. Импорт всех статических элементов из класса может быть особенно вреден для удобочитаемости; если вам нужен только один или два члена, импортируйте их отдельно. При правильном использовании статический импорт может сделать вашу программу более читаемой, удалив шаблон повторения имен классов.

Найти все дело here.

PS

Пожалуйста, используйте именование для ваших пакетов:

Имен пакетов написано в нижнем регистре, чтобы избежать конфликтов с именами классов или интерфейсов.

Это из here

0

Один из способов, чтобы сделать ваш SayHello() метод общественного статическую. Как

public class Hello { 
    public static void sayHello() { 
     System.out.print("HELLO!"); 
    } 
} 

Тогда в вашем классе Begin вы можете позвонить sayHello с помощью Hello. Конечно, сначала вы должны импортировать этот класс Hello, если они не находятся под одним и тем же пакетом.

public static void main(String[] args) { 
    Hello.sayHello(); 
} 
Смежные вопросы