Latest web development tutorials

obiekty Java i klas

Java jako język obiektowy. Obsługuje następujące podstawowe pojęcia:

  • polimorfizm
  • dziedziczyć
  • pakiet
  • streszczenie
  • kategoria
  • Przedmioty
  • Przykłady
  • sposób
  • przeciążony

W tej części skupimy się na koncepcji obiektów i klas.

  • Obiekt: Obiekt jest instancją klasy (obiekt nie jest znaleźć dziewczynę), istnieje stan i zachowanie. Na przykład pies jest obiektem, którego państwa są: kolor, nazwa, rasa; Zachowanie: machanie ogonem, zwanych, jeść i tak dalej.
  • Klasa: Klasa jest szablon, który opisuje zachowanie klasy obiektów i statusu.

Chłopcy i dziewczęta Poniższy rysunek dla klasy i specyficzne dla każdej klasy sztucznych obiektów:


obiekty Java

Teraz nam zrozumieć, co jest obiektem. Rozejrzyj się po świecie rzeczywistym, znajdziesz wokół wiele obiektów, samochodów, psów, ludzi, i tak dalej. Wszystkie te obiekty mają swój stan i zachowanie.

Aby wziąć psa na przykład, stwierdza się: imię, rasa, kolor skóry, zachowanie: nazywa, macha ogonem i uciekł.

Porównaj realne przedmioty i obiekty programowe są bardzo podobne między nimi.

Obiekty programowe mają stan i zachowanie. Celem państwa jest oprogramowanie do przypisania zachowania metodą ekspresji.

W trakcie opracowywania oprogramowania, połączenia ze sobą w celu zmiany sposobu działania wewnętrzny stan obiektu, obiekt jest realizowane metodą.

Klasy Java

Klasy mogą być postrzegane jako szablon do tworzenia obiektów Javy.

Postępując prostą definicję klasy zrozumieć Java w klasie:

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

Klasa może zawierać następujące typy zmiennych:

  • Zmienne lokalne: zmiennej w definicji bloków metoda, konstruktora lub oświadczenie nazywa zmiennych lokalnych. Zostają zmienne i inicjowany w metodzie, po zakończeniu sposobu, zmienne automatycznie zostanie zniszczony.
  • Zmienne użytkownika: zmienne składowe klasy są zdefiniowane, zmienna poza ciałem metodą. Zmienna ta jest tworzona, gdy obiekt jest tworzony. Zmienne użytkownika mogą być dostępne w klasie bloku zestawienie metod, konstruktorów i metod danej klasy.
  • Zmienne Klasa: Klasa zmienne zadeklarowane w klasie, w sposób odmienny niż ciało, ale muszą być zadeklarowane jako typ statycznego.

Klasa może mieć wiele metod, w powyższym przykładzie: szczekanie (), głodny () i spania () są klasy Dog.


konstruktor

Każda klasa ma konstruktora. Jeśli nie jawnie zdefiniować konstruktora klasy, kompilator Javy zapewni domyślnego konstruktora dla klasy.

Tworzenie obiektu, przynajmniej na miano konstruktora. Nazwa konstruktora musi być taka sama jak nazwa klasy, klasa może mieć wiele konstruktorów.

Oto przykład konstruktora:

public class Puppy{
   public Puppy(){
   }

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

Tworzenie obiektu

Przedmioty są tworzone w oparciu o klasy. W języku Java, należy użyć nowego słowa kluczowego, aby utworzyć nowy obiekt. Utwórz obiekt wymaga następujących trzech etapów:

  • Zastrzeżenie: zadeklarować obiekt, łącznie z nazwą obiektu i typ obiektu.
  • Przykłady: nowe słowo kluczowe, aby utworzyć obiekt.
  • Inicjalizacja: Utwórz nowy obiekt przy użyciu domyślnego konstruktora zainicjować obiekt zostanie wywołana.

Oto przykład tworzenia obiektu:

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" );
   }
}

Skompilować i uruchomić powyższy program wypisze się następującymi wynikami:

Passed Name is :tommy

Zmienne instancji dostępu i metody

Aby uzyskać dostęp do zmiennych składowych i metod członków przez obiekt został utworzony w następujący sposób:

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

Przykłady

Poniższy przykład pokazuje, jak uzyskać dostęp do zmiennych instancji i metody członków zadzwoń:

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 ); 
   }
}

Skompilować i uruchomić powyższy program, daje następujące wyniki:

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

Zasady deklaracji plik źródłowy

W ostatniej części tego rozdziału poznamy zasady deklarowania pliku źródłowego. Podczas definiowania wielu klas w jednym pliku źródłowym, a tam są instrukcje importu i stwierdzenie pakietu, należy zwrócić szczególną uwagę na te przepisy.

  • Plik źródłowy może mieć tylko jedną klasę publiczną
  • Plik źródłowy może mieć wiele klas niepublicznych
  • Nazwa pliku źródłowego i nazwa klasy public class powinny być spójne. Na przykład: nazwa klasy w pliku źródłowym jest public class Employee, plik źródłowy powinien być nazwany Employee.java.
  • Jeśli klasa jest zdefiniowana w pakiecie, oświadczenie Pakiet musi być pierwszy wiersz pliku źródłowego.
  • Jeśli plik źródłowy zawierający instrukcję import, oświadczenie powinno być umieszczone pomiędzy definicjami pakietu i klasowych. Jeśli nie ma rachunek Pakiet oświadczenia przywóz powinny być przede wszystkim w pliku źródłowym.
  • Sprawozdanie pakietów import i oświadczenia wszystkich klas zdefiniowanych w pliku źródłowym są ważne. W tym samym pliku źródłowym, a nie do poszczególnych klas innym oświadczeniem pakiety.

Istnieje kilka poziomów dostępu do klasy, a klasa może być podzielone na różne typy: klas abstrakcyjnych i klas końcowych i tym podobne. Są one opisane w sekcji kontroli dostępu.

W dodatku do wyżej wymienionych typów, Jawa istnieją specjalne kategorie, takie jak: wewnętrzna klas, anonimowych klas.


pakiet Java

Pakiet jest wykorzystywany głównie do kategoryzowania klas i interfejsów. Podczas opracowywania programu Java mógł napisać setki klas, więc konieczne jest sklasyfikowanie klas i interfejsów.

Oświadczenie importu

W Javie, jeżeli otrzyma pełną nazwę wraz z nazwą pakietu, nazwa klasy, a następnie kompilator Javy można łatwo zlokalizować kod źródłowy lub kategorię. instrukcja import służy do zapewnienia odpowiedniej ścieżki, dzięki czemu kompilator może znaleźć klasę.

Na przykład, następujące polecenie wiersza poleceń kompilator będzie ładować wszystkich klas java_installation / JAVA / io ścieżkę

import java.io.*;

Prosty przykład

W tym przykładzie, tworzymy dwie klasy: pracownika i EmployeeTest.

Najpierw otwórz edytora tekstu wklej następujący kod do niego. Uwaga Zapisz plik jako Employee.java.

Klasa pracownik ma cztery zmienne składowe: imię, wiek, oznaczenie i płac. Klasa jawnie zadeklarować konstruktora, który jest tylko jeden parametr.

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);
   }
}

Realizacja programu rozpocznie się od głównej metody. Aby uruchomić program, a musi zawierać główny metoda tworzy instancję obiektu.

Oto klasa EmployeeTest instancję dwie instancje klasy Employee i wywołać metodę, aby ustawić wartość zmiennej.

Poniższy kod jest przechowywany w pliku 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();
   }
}

Skompilować obydwa pliki i uruchomić klasę EmployeeTest można zobaczyć następujące wyniki:

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