Latest web development tutorials

метод Java

В первых нескольких главах мы часто используем для System.out.println (), то что это?

Println () представляет собой метод (метод), и система является системный класс (класс), из является стандартным выходным сигналом объекта (Object). Использование этого оператора является вызов системный класс системы стандартного вывода объекта из метода Println ().

Так что это способ сделать это?

Метод Java это набор утверждений, которые вместе выполняют функцию.

  • Метод представляет собой упорядоченную комбинацию для решения класса задач шага
  • Методы, включенные в класс или объект
  • Этот метод был создан в программе, ссылки в других местах

Определенные методы

В общем случае, определение последовательности операций способа, содержащий следующий синтаксис:

修饰符 返回值类型 方法名 (参数类型 参数名){
    ...
    方法体
    ...
    return 返回值;
}

Способ включает в себя заголовок метода и тело метода. Вот все это часть процесса:

  • Модификатор: модификатор , который не является обязательным, чтобы сообщить компилятору , как вызвать метод. Он определяет тип доступа метода.
  • Возвращаемое значение Тип: метод может вернуть значение. returnValueType является метод возвращает тип данных значения. Некоторые методы выполняют желаемое действие, но нет возвращаемого значения. В этом случае ключевое слово returnValueType недействительным.
  • Название метода: фактическое имя метода. Имя метода и список параметров вместе образуют подпись метода.
  • Тип параметра: Значение параметра как заполнитель. Когда вызывается метод, переданное значение параметра. Это значение называется аргументом или переменной. Список параметров является число типа параметра метода, порядок и параметров. Параметр не является обязательным, метод не может содержать каких-либо параметров.
  • Способ корпуса: Способ содержит специальное заявление для определения функции метода.

Такие, как:

public static int age(int birthday){...}

Вы можете иметь более одного параметра:

static float interest(float principal, int year){...}

Примечание: В некоторых других языках метод относится к процессу и функций. Непустое тип возвращаемого значения возвращаемого значения вызываемого метода функции; метод возвращает возвращаемое значение типа недействительным называется процессом.

примеров

Следующий метод содержит два параметра num1 и num2, он возвращает максимальное значение этих двух параметров.

/** 返回两个整型变量数据的较大值 */
public static int max(int num1, int num2) {
   int result;
   if (num1 > num2)
      result = num1;
   else
      result = num2;

   return result; 
}

Метод Призвание

Java поддерживает два способа вызова метода, согласно ли метод возвращаемого значения для выбора.

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

Когда метод возвращает значение, то вызов метода, как правило, рассматривается как значение. Например:

int larger = max(30, 40);

Если метод возвращает значение является недействительным, вызов метода должен быть заявление. Например, метод Println возвращает недействительным. Следующий вызов является утверждение:

System.out.println("Welcome to Java!");

пример

В следующем примере показано, как определить метод, и как назвать его:

public class TestMax {
   /** 主方法 */
   public static void main(String[] args) {
      int i = 5;
      int j = 2;
      int k = max(i, j);
      System.out.println("The maximum between " + i +
                    " and " + j + " is " + k);
   }

   /** 返回两个整数变量较大的值 */
   public static int max(int num1, int num2) {
      int result;
      if (num1 > num2)
         result = num1;
      else
         result = num2;

      return result; 
   }
}

Приведенные выше примеры скомпилированные получены следующие результаты:

The maximum between 5 and 2 is 5

Эта программа содержит основной метод и метод макс. Основной метод вызывается JVM, кроме того, основной и другими методами нет разницы.

Head Основной метод такой же, как на примере, показанном, с модификаторами общественных и статических, значение пустого типа возвращаемого значения, имя метода является основным, в дополнение с о Струнные параметров типа []. String [], что аргумент является массивом строк.


Ключевое слово недействительным

В этом разделе описывается, как объявить и вызова метода недействительным.

В следующем примере объявляется метод с именем printGrade, и назвать его напечатать данную оценку.

пример

public class TestVoidMethod {

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

   public static void printGrade(double score) {
      if (score >= 90.0) {
         System.out.println('A');
      }
      else if (score >= 80.0) {
         System.out.println('B');
      }
      else if (score >= 70.0) {
         System.out.println('C');
      }
      else if (score >= 60.0) {
         System.out.println('D');
      }
      else {
         System.out.println('F');
      }
   }
}

Приведенные выше примеры скомпилированные получены следующие результаты:

C

Здесь printGrade метод является метод типа пустоты, он не возвращает значение.

Способ вызова недействительным должен быть заявление. Поэтому основным методом третьей линии вызывает в форме заявления. Как и любое заявление заканчивается точкой с запятой, как.


Передача параметров по значению

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

Например, следующий метод непрерывного п раз печатает сообщение:

public static void nPrintln(String message, int n) {
  for (int i = 0; i < n; i++)
    System.out.println(message);
}

пример

Следующий пример иллюстрирует эффект передается по значению.

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

public class TestPassByValue {

   public static void main(String[] args) {
      int num1 = 1;
      int num2 = 2;

      System.out.println("Before swap method, num1 is " +
                          num1 + " and num2 is " + num2);

      // 调用swap方法
      swap(num1, num2);
      System.out.println("After swap method, num1 is " +
                         num1 + " and num2 is " + num2);
   }
   /** 交换两个变量的方法 */
   public static void swap(int n1, int n2) {
      System.out.println("\tInside the swap method");
      System.out.println("\t\tBefore swapping n1 is " + n1
                           + " n2 is " + n2);
      // 交换 n1 与 n2的值
      int temp = n1;
      n1 = n2;
      n2 = temp;

      System.out.println("\t\tAfter swapping n1 is " + n1
                           + " n2 is " + n2);
   }
}

Приведенные выше примеры скомпилированные получены следующие результаты:

Before swap method, num1 is 1 and num2 is 2
        Inside the swap method
                Before swapping n1 is 1 n2 is 2
                After swapping n1 is 2 n2 is 1
After swap method, num1 is 1 and num2 is 2

Проходят два параметра для вызова метода подкачки. Интересно отметить, что после того, как метод вызывается, значение аргумента не изменилась.


Перегруженные методы

макс метод использует вышесказанное относится только к типу данных Int. Но если вы хотите, чтобы получить максимальное значение двух с плавающей точкой тип данных это?

Решение состоит в том, чтобы создать еще один параметр с тем же именем, но другим способом, как показано в следующем коде:

public static double max(double num1, double num2) {
  if (num1 > num2)
    return num1;
  else
    return num2;
}

При вызове макс метод передается параметр Int, макс метод Int аргумента вызывается;

Если он будет принят двойной параметр типа, тип метода двойного опыта макс называется, это называется метод перегрузки;

То, что два метода класса имеют одинаковые имена, но с другим списком параметров.

Java компилятор в соответствии с методом подписи, чтобы определить, какой метод должен быть вызван.

Перегрузка методов может сделать программу более разборчивыми. Способ исполнения тесно связанные с ними задачи должны использовать то же имя.

Перегруженные методы должны иметь различный список параметров. Вы не можете просто на основе различных типов модификаторов или вернуться к перегруженных методов.


Переменная Объем

переменная Range является частью программы, где можно ссылаться переменная.

Переменные в определении метода называются локальными переменными.

Объем локальной переменной деклараций от начала до конца блока, содержащего его.

Локальные переменные должны быть объявлены прежде чем они могут быть использованы.

Способ охватывает весь диапазон параметров метода. Параметр фактически является локальной переменной.

Инициализация переменной частью для оператора цикла, сфера его роли в цикле.

Но переменная тело оператора цикла является утверждение его объема от него до конца цикла. Он содержит переменную, объявленную следующим образом:

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

Используя параметры командной строки

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

Командная строка аргумент сопровождается информацией о времени выполнения после имени программы.

примеров

Следующая программа выводит все аргументы командной строки:

public class CommandLine {

   public static void main(String args[]){ 
      for(int i=0; i<args.length; i++){
         System.out.println("args[" + i + "]: " +
                                           args[i]);
      }
   }
}

Как будет показано ниже, запустите программу:

java CommandLine this is a command line 200 -100

Результаты следующие:

args[0]: this
args[1]: is
args[2]: a
args[3]: command
args[4]: line
args[5]: 200
args[6]: -100

конструктор

Когда объект создается, когда конструктор используется для инициализации объекта. И именно в конструктор класса с тем же именем, но конструктор не имеет возвращаемого значения.

Часто используют конструктор для экземпляра класса переменных начальных значений, или выполнить другие действия, необходимые для создания полного объекта.

Будь или не вы пользовательский конструктор, все классы имеют конструктор, потому что Java автоматически предоставляет конструктор по умолчанию, который все члены инициализируются к нулю.

После того как вы определили свой собственный конструктор, конструктор по умолчанию не будет выполнена.

примеров

Ниже приведен пример использования конструктора:

// 一个简单的构造函数
class MyClass {
   int x;
   
   // 以下是构造函数
   MyClass() {
      x = 10;
   }
}

Вы можете назвать как этот конструктор для инициализации объекта:

public class ConsDemo {

   public static void main(String args[]) {
      MyClass t1 = new MyClass();
      MyClass t2 = new MyClass();
      System.out.println(t1.x + " " + t2.x);
   }
}

Большую часть времени нужен параметр конструктора.

примеров

Ниже приведен пример использования конструктора:

// 一个简单的构造函数
class MyClass {
   int x;
   
   // 以下是构造函数
   MyClass(int i ) {
      x = i;
   }
}

Вы можете назвать как этот конструктор для инициализации объекта:

public class ConsDemo {

   public static void main(String args[]) {
      MyClass t1 = new MyClass( 10 );
      MyClass t2 = new MyClass( 20 );
      System.out.println(t1.x + " " + t2.x);
   }
}

Результаты следующие:

10 20

Переменный параметр

По состоянию на JDK 1.5, поддержка Java, передавая тот же тип переменных параметров для метода.

Объявите переменные параметры метода заключаются в следующем:

typeName... parameterName

В ППР, указанный тип параметра после добавления многоточие (...).

Способ может указать только один переменный параметр, то он должен быть последним параметром метода. Любые общие параметры должны быть объявлены перед ней.

примеров

public class VarargsDemo {

   public static void main(String args[]) {
      // 调用可变参数的方法
	  printMax(34, 3, 3, 2, 56.5);
      printMax(new double[]{1, 2, 3});
   }

   public static void printMax( double... numbers) {
   if (numbers.length == 0) {
      System.out.println("No argument passed");
      return;
   }

   double result = numbers[0];

   for (int i = 1; i <  numbers.length; i++)
      if (numbers[i] >  result)
      result = numbers[i];
      System.out.println("The max value is " + result);
   }
}

Приведенные выше примеры скомпилированные получены следующие результаты:

The max value is 56.5
The max value is 3.0

завершить метод ()

Java позволяет определить метод, в котором объект вызывается до деструктора сборщика мусора (переработка), этот метод называется финализации (), который используется для очистки восстановленных объектов.

Например, вы можете использовать Finalize (), чтобы гарантировать, что объект открыт файл закрывается.

В методе Finalize (), необходимо указать операцию, которая должна быть выполнена, когда объект будет уничтожен.

завершить () является общий формат:

protected void finalize()
{
   // 在这里终结代码
}

Ключевое слово защищен является классификатор, это гарантирует, что метод финализации () никогда не вызывается код вне класса.

Конечно, сбор мусора в Java может быть сделано автоматически с помощью виртуальной машины Java. Если вы используете инструкцию, вы можете использовать метод, описанный выше.

примеров

public class FinalizationDemo {  
    public static void main(String[] args) {  
        Cake c1 = new Cake(1);  
        Cake c2 = new Cake(2);  
        Cake c3 = new Cake(3);  
          
        c2 = c3 = null;  
        System.gc(); //调用Java垃圾收集器
    }  
}  
  
class Cake extends Object {  
    private int id;  
    public Cake(int id) {  
        this.id = id;  
        System.out.println("Cake Object " + id + "is created");  
    }  
      
    protected void finalize() throws java.lang.Throwable {  
        super.finalize();  
        System.out.println("Cake Object " + id + "is disposed");  
    }  
}  

Запустите приведенный выше код, выходные результаты являются следующими:

C:\1>java FinalizationDemo  
Cake Object 1is created  
Cake Object 2is created  
Cake Object 3is created  
Cake Object 3is disposed  
Cake Object 2is disposed