Эквивалент using namespace существует C ++ для Java?

Ну, мой вопрос очень простой. В C ++ я это делаю:

using namespace std;

Тогда я могу использовать strings. То, что он хотел узнать, если существует что-то в Java, чтобы импортировать все функции класса.

Сейчас, что я делаю, состоит в том, чтобы звонить в функции класса как будто это были свойства, таким образом:

Sistema.pedirTeclado()

Но я хотел бы использовать функцию без писания Sistema, так.

pedirTeclado()

Я издаю:

Когда я делаю папку, и помещаю функцию внутри этой папки, тогда оно я функционирует, но когда я помещаю все функции в класс, оно я не функционирует.

Есть какой-то способ импортировать все функции единственного файла .java?

Мой файл Sistema.java он этот.

package programa;

import java.util.Scanner;

public class Sistema
{
    public static int pedirTeclado(Scanner teclado)
    {
        int número = teclado.nextInt();
        return número;
    }
    public static int pedirTecladoDiferente(Scanner teclado,int número)
    {
        boolean permanece;
        while(permanece)
        {
            int númeroTeclado = teclado.nextInt();
            if(número!=númeroTeclado){permanece = false;}
        }
        return número;
    }
}

Я попробовал создавать функции снаружи class Sistema, но он не оставляет меня также.

1
задан 27.11.2016, 18:19
4 ответа

Ты можешь делать один import static класса.

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

Например, класса java.util.Math, ты можешь импортировать стоимость признака PI:

import static java.util.Math.PI;

и потом использовать

double longitud = 2* PI * radio;

Если ты хочешь иметь значение все статические члены класса, просто сделай import *.

import static java.util.Math.*;

В конце концов, предупреждение: хотя законная и правильная, этот способ работать не используется mucho1 и может делать осложненным читать код; другие люди могут читать код и думать, что PI будь определен в суперклассе или в том же классе, и т.д. Лично, Math.PI никогда он мне не казался таким длинным как чтобы оправдывать быть должным использовать imports статические, и встречу, что Math.abs () помогает читать намного лучший код.


1El единственный случай, который я знаю, в котором он применяется обычно, - это, чтобы иметь значение asserts JUnit.
3
ответ дан 24.11.2019, 12:21
  • 1
    Tambié n matchers org.hamcrest.Matchers, в librerí эксперт mock как Mockito или PowerMock. Вне этого, примера, что воспоминание - с Unirest. –   28.11.2016, 04:08

import static com.paquete.Sistema.*;

Это импортирует все статические методы, костлявая те, объявленные с модификатором static. Потом они могут использоваться как функции, как ты хочешь сделать это, без necesitad упоминания о классе:

pedirTeclado(argumentos);

Если ты хочешь импортировать единственный метод, ты можешь делать.

import static com.paquete.Clase.pedirTeclado;

Это механизм, который используют много Framworks testing для функций как assertEquals.

public class Sistema {

  public static void pedirTeclado() {

  }

  public static void pedirVideo() {

  }

  public static int getHora() {

  }
}
2
ответ дан 24.11.2019, 12:21
  • 1
    Оно я не функционирует, tendrí в который издавать вопрос. Сейчас я понимаю, что это Clase должна быть папка, и создавать файл из-за каждого funció n, который я делаю. ¿ Есть какой-то способ, которого Clase был бы единственным файлом .java? –  ArtEze 27.11.2016, 17:35
  • 2
    Это из папок ты не можешь делать это, в java ты не можешь делать методы на уровне пакета и классы не могут быть призванными как функции. –  rnrneverdies 27.11.2016, 17:38
  • 3
    То, что ты можешь делать, (что является тем, что делают framworks testing, например) является классом со всеми функциями, в котором ты нуждаешься, и которые всех этих методов static. Имей в виду, что это не имеет смысл для функций класса. –  rnrneverdies 27.11.2016, 17:40

Ты можешь использовать static, чтобы уже не призывать в класс. Он полезный, когда себе нуждается в том, чтобы сделать что-то похожим на книжный магазин например класс math, - книжный магазин, что ты можешь импортировать это так import java.math, если я не ошибаюсь, тогда, чтобы соглашаться на Ваши математические функции, только ты призываешь, чтобы использовать их например sqrt () и уже ты это не используешь так math.sqrt (), хотя двух форм могут, сейчас давая более полезный пример ты можешь создавать нормальный класс и объяви такую функцию public static суммировать (в, b) и с другого класса ты импортируешь ее и призываешь прямо так складывать (5,6). Замечание я не смог давать лучший пример, из-за которого я с моего мобильного телефона потом, я это издаю.

1
ответ дан 24.11.2019, 12:21

PodrГ-схвати делать это, если ты думаешь mГ©todo, что ты хочешь сделать быстрее для того, чтобы он сделал полное решение. В твоем примере:

private void pedirTeclado(){
    Sistema.pedirTeclado()
}

, Если ты способствуешь тому, чтобы то, что они возвращают, в Вашем случае, было тем же самым.

0
ответ дан 24.11.2019, 12:21

Теги

Похожие вопросы