Latest web development tutorials

Java-объекты и классы

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

  • полиморфизм
  • унаследовать
  • пакет
  • абстрактный
  • категория
  • объекты
  • примеров
  • способ
  • перегруженный

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

  • Объект: Объект является экземпляром класса (объект не найти подругу), есть состояние и поведение. Например, собака является объектом, чьи состояния являются: цвет, название, порода, поведение: виляя хвостом, который называется, есть и так далее.
  • Класс: Класс представляет собой шаблон , который описывает поведение класса объектов и статуса.

Мальчики и девочки ниже показателя для класса, и специфические для каждого класса искусственных объектов:


Java-объекты

Теперь давайте понять, что такое объект. Посмотрите вокруг реального мира, вы найдете вокруг много объектов, машин, собак, людей, и так далее. Все эти объекты имеют свое собственное состояние и поведение.

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

Сравните реальные объекты и программные объекты очень похожи между ними.

программные объекты имеют состояние и поведение. Состояние объекта программного обеспечения является приписывать поведение с помощью способа выражения.

При разработке программного обеспечения, обращаются друг к другу, чтобы изменить способ работы внутреннего состояния объекта, задача решается с помощью метода.

Классы Java

Класс можно рассматривать как шаблон для создания объектов Java.

Следуя простое определение класса, чтобы понять Java в классе:

public class Dog{
   String breed;
   int age;
   String color;
   void barking(){
   }
   
   void hungry(){
   }
   
   void sleeping(){
   }
}

Класс может содержать следующие типы переменных:

  • Локальные переменные: переменная в методе, конструктор или утверждение определений блоков называется локальные переменные. Переменные объявляются и инициализируются в методе, после окончания метода, переменные будут автоматически уничтожены.
  • Переменные - члены: переменные класса определяются, переменная вне тела метода. Эта переменная создается при создании экземпляра объекта. Переменные-члены могут быть доступны в блок операторов класса методов, конструкторов и методов конкретного класса.
  • Класс: переменные переменные класса , объявленные в классе, способом , отличным от тела, но должен быть объявлен как статический.

Класс может иметь несколько методов, в приведенном выше примере: лай (), голодный () и спать () являются класс Dog.


конструктор

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

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

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

public class Puppy{
   public Puppy(){
   }

   public Puppy(String name){
      // 这个构造器仅有一个参数:name
   }
}

Создание объекта

Объекты создаются на основе класса. В Java, используйте ключевое слово новое, чтобы создать новый объект. Создание объекта необходимо выполнить следующие три шага:

  • Отказ от ответственности: объявить объект, в том числе имя объекта и типа объекта.
  • Примеры: новое ключевое слово , чтобы создать объект.
  • Инициализация: Создайте новый объект , используя конструктор по умолчанию для инициализации объекта будет вызываться.

Ниже приведен пример создания объекта:

public class Puppy{
   public Puppy(String name){
      //这个构造器仅有一个参数:name
      System.out.println("Passed Name is :" + name ); 
   }
   public static void main(String []args){
      // 下面的语句将创建一个Puppy对象
      Puppy myPuppy = new Puppy( "tommy" );
   }
}

Скомпилировать и запустить эту программу будет распечатывать следующие результаты:

Passed Name is :tommy

Доступ к переменные экземпляра и методы

Чтобы получить доступ к переменным-членам и членам методов через объект был создан, следующим образом:

/* 实例化对象 */
ObjectReference = new Constructor();
/* 访问其中的变量 */
ObjectReference.variableName;
/* 访问类中的方法 */
ObjectReference.MethodName();

примеров

В следующем примере показано, как получить доступ к переменным экземпляра и методы-члены вызова:

public class Puppy{
   int puppyAge;
   public Puppy(String name){
      // 这个构造器仅有一个参数:name
      System.out.println("Passed Name is :" + name ); 
   }

   public void setAge( int age ){
       puppyAge = age;
   }

   public int getAge( ){
       System.out.println("Puppy's age is :" + puppyAge ); 
       return puppyAge;
   }

   public static void main(String []args){
      /* 创建对象 */
      Puppy myPuppy = new Puppy( "tommy" );
      /* 通过方法来设定age */
      myPuppy.setAge( 2 );
      /* 调用另一个方法获取age */
      myPuppy.getAge( );
      /*你也可以像下面这样访问成员变量 */
      System.out.println("Variable Value :" + myPuppy.puppyAge ); 
   }
}

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

Passed Name is :tommy
Puppy's age is :2
Variable Value :2

Правила декларации Источник файла

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

  • Исходный файл может иметь только один публичный класс
  • Исходный файл может иметь несколько непубличных классов
  • Имя исходного файла и имя класса общественного класса должен быть последовательным. Например: имя класса в исходном файле общественного класса Employee, то исходный файл должен быть назван Employee.java.
  • Если класс определен в пакете, пакет оператор должен быть первой строкой исходного файла.
  • Если исходный файл, содержащий оператор импорта, оператор должен быть помещен между определениями пакетов и классов. Если нет пакета заявление, операторы импорта должны быть в первую очередь в исходном файле.
  • импорта заявления пакетов и заявления всех классов, определенных в исходном файле действительны. В том же исходном файле, а не к различным классам различных пакетов заявления.

Есть несколько уровней доступа класса, а класс можно разделить на несколько типов: абстрактные классы и конечных классов и тому подобное. Они описаны в разделе Access Control.

В дополнение к выше типов, Java, есть некоторые специальные категории, такие как: внутренние классы, анонимные классы.


пакет Java

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

Импорт Заявление

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

Например, следующая команда компилятор командной строки будет загружать все классы java_installation / Java / Io путь

import java.io.*;

Простой пример

В этом примере мы создаем два класса: Employee и EmployeeTest.

Во-первых, откройте текстовый редактор, чтобы вставить следующий код в него. Примечание Сохраните файл как Employee.java.

класс Сотрудник имеет четыре переменные члена: имя, возраст, обозначение и заработной платы. Класс явно объявлять метод конструктора, который является только один параметр.

import java.io.*;
public class Employee{
   String name;
   int age;
   String designation;
   double salary;
   // Employee 类的构造器
   public Employee(String name){
      this.name = name;
   }
   // 设置age的值
   public void empAge(int empAge){
      age =  empAge;
   }
   /* 设置designation的值*/
   public void empDesignation(String empDesig){
      designation = empDesig;
   }
   /* 设置salary的值*/
   public void empSalary(double empSalary){
      salary = empSalary;
   }
   /* 打印信息 */
   public void printEmployee(){
      System.out.println("Name:"+ name );
      System.out.println("Age:" + age );
      System.out.println("Designation:" + designation );
      System.out.println("Salary:" + salary);
   }
}

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

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

Следующий код хранится в файле EmployeeTest.java.

import java.io.*;
public class EmployeeTest{

   public static void main(String args[]){
      /* 使用构造器创建两个对象 */
      Employee empOne = new Employee("James Smith");
      Employee empTwo = new Employee("Mary Anne");

      // 调用这两个对象的成员方法
      empOne.empAge(26);
      empOne.empDesignation("Senior Software Engineer");
      empOne.empSalary(1000);
      empOne.printEmployee();

      empTwo.empAge(21);
      empTwo.empDesignation("Software Engineer");
      empTwo.empSalary(500);
      empTwo.printEmployee();
   }
}

Компиляция как файлы, так и запустить класс EmployeeTest, вы можете увидеть следующие результаты:

C :> javac Employee.java
C :> vi EmployeeTest.java
C :> javac  EmployeeTest.java
C :> java EmployeeTest
Name:James Smith
Age:26
Designation:Senior Software Engineer
Salary:1000.0
Name:Mary Anne
Age:21
Designation:Software Engineer
Salary:500.0