Najlepszy samouczek obiekty Java i klas W 2024 r. W tym samouczku możesz dowiedzieć się obiekty Java,Klasy Java,konstruktor,Tworzenie obiektu,Zmienne instancji dostępu i metody,Przykłady,Zasady deklaracji plik źródłowy,pakiet Java,Oświadczenie importu,Prosty przykład,
Java jako język obiektowy. Obsługuje następujące podstawowe pojęcia:
W tej części skupimy się na koncepcji obiektów i klas.
Chłopcy i dziewczęta Poniższy rysunek dla klasy i specyficzne dla każdej klasy sztucznych obiektów:
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 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:
Klasa może mieć wiele metod, w powyższym przykładzie: szczekanie (), głodny () i spania () są klasy Dog.
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 } }
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:
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
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();
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
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.
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 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.
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.*;
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