Latest web development tutorials

oggetti Java e classi

Java come linguaggio orientato agli oggetti. Supporta i seguenti concetti fondamentali:

  • polimorfismo
  • ereditare
  • pacchetto
  • astratto
  • categoria
  • Oggetti
  • Esempi
  • modo
  • stracarico

In questa sezione ci concentriamo sul concetto di oggetti e classi.

  • Oggetto: L'oggetto è un'istanza di una classe (oggetto non è quello di trovare una fidanzata), ci sono stato e il comportamento. Ad esempio, un cane è un oggetto i cui Stati sono: colore, nome, razza, comportamento: scodinzolando, chiamato, mangiare e così via.
  • Classe: La classe è un modello che descrive il comportamento di una classe di oggetti e di stato.

Ragazzi e ragazze al di sotto della cifra per la classe, e specifici per ogni classe di oggetti artificiali:


oggetti Java

Ora cerchiamo di capire che cosa è un oggetto. Guardatevi intorno il mondo reale, si trova in giro un sacco di oggetti, automobili, cani, persone, e così via. Tutti questi oggetti hanno un proprio stato e il comportamento.

Per prendere il cane, per esempio, si afferma sono: nome, razza, colore, comportamento: chiamata, scodinzola e corse.

Confronto oggetti reali e oggetti software sono molto simili tra loro.

oggetti software sono stato e il comportamento. oggetto software Stato è da attribuire comportamento dal metodo di espressione.

Nello sviluppo di software, chiamare l'altro per modificare il metodo di operare lo stato interno di un oggetto, l'oggetto viene realizzato il metodo.

classi Java

Classe può essere visto come un modello per creare oggetti Java.

Seguendo una definizione di classe semplice da capire Java in classe:

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

Una classe può contenere i seguenti tipi di variabili:

  • Le variabili locali: variabile in un metodo, costruttore o dichiarazione definizioni di blocco è chiamato variabili locali. Le variabili sono dichiarate e inizializzate nel metodo, dopo la fine del metodo, le variabili verranno distrutti automaticamente.
  • Le variabili membro: variabili membro di classe sono definiti, la variabile al di fuori del corpo del metodo. Questa variabile viene creata quando l'oggetto viene creata un'istanza. Le variabili membro può accedere nella classe blocco di istruzioni metodi, costruttori e metodi di una classe particolare.
  • variabili di classe: variabili di classe dichiarate in una classe, un metodo diverso rispetto al corpo, ma devono essere dichiarati come tipo statico.

Una classe può avere più metodi, nell'esempio di cui sopra: abbaiare (), la fame () e dormire () sono la classe Cane.


costruttore

Ogni classe ha un costruttore. Se non si definisce esplicitamente il costruttore della classe, compilatore Java fornirà un costruttore predefinito per la classe.

Creazione di un oggetto, almeno, essere chiamato un costruttore. Il nome del costruttore deve essere lo stesso nome della classe, una classe può avere più costruttori.

Ecco un esempio del costruttore:

public class Puppy{
   public Puppy(){
   }

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

Crea oggetto

Gli oggetti vengono creati in base alla classe. In Java, utilizzare la parola chiave nuova per creare un nuovo oggetto. Creare un oggetto richiede i seguenti tre fasi:

  • Disclaimer: dichiarare un oggetto, tra cui il nome dell'oggetto e il tipo di oggetto.
  • Esempi: la nuova parola chiave per creare un oggetto.
  • Inizializzazione: Creare un nuovo oggetto utilizzando il costruttore predefinito per inizializzare l'oggetto sarà chiamato.

Ecco un esempio di creazione di un oggetto:

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

Compilare ed eseguire il programma di cui sopra stamperà i seguenti risultati:

Passed Name is :tommy

variabili di istanza di accesso e metodi

Per accedere alle variabili e metodi membri attraverso un oggetto è stato creato, come segue:

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

Esempi

L'esempio seguente mostra come accedere alle variabili di istanza e metodi membri chiamata:

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

Compilare ed eseguire il programma di cui sopra produce i seguenti risultati:

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

regole dichiarazione di file di origine

Nell'ultima parte di questa sezione, impareremo le regole dichiarano il file di origine. Quando si definiscono più classi in un unico file sorgente, e ci sono le dichiarazioni di importazione e istruzione package, prestare particolare attenzione a queste regole.

  • Un file sorgente può avere una sola classe pubblica
  • Un file sorgente può avere più classi non pubbliche
  • Il nome del file di origine e nome classe pubblica dovrebbero essere coerenti. Per esempio: nome della classe nel file di origine di classe pubblico è dipendente, quindi il file sorgente deve essere denominato Employee.java.
  • Se una classe è definita in un pacchetto, l'istruzione pacchetto deve essere la prima riga del file di origine.
  • Se il file sorgente contenente l'istruzione import, la dichiarazione deve essere collocato tra le definizioni di pacchetto e di classe. Se non c'è alcuna istruzione package, le istruzioni import devono avere la precedenza nel file di origine.
  • importazione dichiarazioni package e le dichiarazioni di tutte le classi definite nel file di origine sono validi. Nello stesso file sorgente, non alle diverse classi di diversa dichiarazione pacchetti.

Ci sono diversi livelli di classe di accesso, e la classe possono essere suddivisi in diverse tipologie: le classi astratte e le classi finali e simili. Questi sono descritti nella sezione Access Control.

Oltre ai suddetti tipi, Java ci sono alcune categorie speciali, come: classi interne, classi anonime.


pacchetto Java

Il pacchetto è utilizzato principalmente per classificare classi e interfacce. Quando si sviluppa un programma Java potrebbe scrivere centinaia di classi, quindi è necessario classificare classi e interfacce.

Importa Statement

In Java, se dato un nome completo, incluso il nome del pacchetto, nome della classe, il compilatore Java può facilmente individuare il codice sorgente o categoria. Importa istruzione viene utilizzata per fornire un percorso ragionevole, in modo che il compilatore può trovare una classe.

Ad esempio, il comando seguente riga di comando del compilatore caricherà tutte le classi java_installation / java / percorso di IO

import java.io.*;

Un semplice esempio

In questo esempio, creiamo due classi: i dipendenti e EmployeeTest.

In primo luogo, aprire un editor di testo per incollare il seguente codice in esso. Nota Salvare il file come Employee.java.

classe Employee ha quattro variabili membro: nome, età, designazione e di stipendio. Classe dichiarare in modo esplicito un metodo di costruzione, che è un solo parametro.

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

L'esecuzione del programma inizia dal metodo principale. Per eseguire il programma, e deve contenere un metodo main crea un'istanza di un oggetto.

Qui sono di classe EmployeeTest, un'istanza di due istanze della classe Employee, e chiamare il metodo per impostare il valore della variabile.

Il seguente codice è memorizzato in un file 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();
   }
}

Compilare entrambi i file ed eseguire classe EmployeeTest, è possibile visualizzare i seguenti risultati:

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