Latest web development tutorials

objetos Java e classes

Java como uma linguagem orientada a objetos. Ele suporta os seguintes conceitos básicos:

  • polimorfismo
  • herdar
  • pacote
  • abstrato
  • categoria
  • objetos
  • Exemplos
  • caminho
  • sobrecarregado

Nesta seção, vamos concentrar-se no conceito de objetos e classes.

  • Objeto: O objeto é uma instância de uma classe (objeto não é para encontrar uma namorada), há estado e comportamento. Por exemplo, um cão é um objeto cujos estados são: cor, nome, raça; comportamento: abanando o rabo, chamado, comer e assim por diante.
  • Classe: A classe é um modelo que descreve o comportamento de uma classe de objectos e de estado.

Meninos e meninas abaixo da figura para a classe, e específicas para cada classe de objetos artificiais:


objetos Java

Agora vamos entender o que é um objeto. Olhe ao redor do mundo real, você vai encontrar em torno de um monte de objetos, carros, cães, pessoas e assim por diante. Todos esses objetos têm seu próprio estado e comportamento.

Para levar o cão, por exemplo, afirma são: nome, raça, cor, comportamento: chamado, abana o rabo e correu.

Comparar objetos reais e objetos de software são muito semelhantes entre eles.

objetos de software têm estado e comportamento. objeto de software Estado é atribuir comportamento pelo método de expressão.

No desenvolvimento de software, chamar um ao outro para alterar o modo de funcionamento do estado interno de um objecto, o objecto é conseguido pelo método.

Classes Java

Classe pode ser visto como um molde para criar objectos Java.

Ao seguir uma definição de classe simples de entender Java na classe:

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

Uma classe podem conter os seguintes tipos de variáveis:

  • As variáveis locais: variável em um método, construtor ou Declaração de definições de bloco é chamado de variáveis locais. As variáveis ​​são declarados e inicializado no método, após o final do método, as variáveis ​​serão destruídos automaticamente.
  • membro variáveis: variáveis de membros de classe são definidos, a variável fora do corpo do método. Esta variável é criada quando o objeto é instanciado. variáveis ​​de membro pode ser acessado na classe bloco de declaração métodos, construtores e métodos de uma classe particular.
  • variáveis de classe: variáveis de classe declarada em uma classe, um método que não seja o corpo, mas deve ser declarado como tipo estático.

Uma classe pode ter vários métodos, no exemplo acima: latindo (), com fome () e dormir () são a classe Dog.


construtor

Cada classe tem um construtor. Se você não definir explicitamente o construtor da classe, compilador Java irá fornecer um construtor padrão para a classe.

Criando um objeto, pelo menos, a ser chamado de um construtor. O nome do construtor deve ser o mesmo nome que a classe, uma classe pode ter vários construtores.

Aqui está um exemplo do construtor:

public class Puppy{
   public Puppy(){
   }

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

Criar objeto

Os objetos são criados com base na classe. Em Java, utilize a palavra-chave Novo para criar um novo objeto. Criar um objeto requer os seguintes três passos:

  • Disclaimer: declarar um objeto, incluindo o nome do objeto e tipo de objeto.
  • Exemplos: a nova palavra-chave para criar um objeto.
  • Inicialização: Criar um novo objeto usando o construtor padrão para inicializar o objeto será chamado.

Aqui está um exemplo de criação de um objeto:

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

Compilar e executar o programa acima irá imprimir os seguintes resultados:

Passed Name is :tommy

variáveis ​​de instância de acesso e métodos

Para acessar as variáveis ​​de membro e métodos de membros através de um objeto foi criado, como segue:

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

Exemplos

O exemplo a seguir mostra como acessar as variáveis ​​de instância e métodos de membro chamada:

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

Compilar e executar o programa acima produz os seguintes resultados:

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

regras de declaração de arquivo de origem

Na última parte desta seção, vamos aprender as regras declarar o arquivo de origem. Quando você define várias classes em um arquivo de origem, e não são declarações de importação e declaração de pacote, prestar especial atenção a estas regras.

  • Um arquivo de origem pode ter apenas uma classe pública
  • Um arquivo de origem pode ter várias classes não-públicas
  • O nome do arquivo de origem e nome da classe classe pública deve ser consistente. Por exemplo: nome da classe no arquivo de origem classe pública é empregado, em seguida, o arquivo de origem deve ser nomeado Employee.java.
  • Se uma classe é definida em um pacote, a declaração embalagem deve ser a primeira linha do arquivo de origem.
  • Se o arquivo de origem que contém a declaração de importação, a declaração deve ser colocada entre as definições de pacote e de classe. Se não houver nenhuma instrução de pacote, instruções de importação deve ser acima de tudo no arquivo de origem.
  • importação declarações de pacotes e declarações de todas as classes definidas no arquivo de origem são válidos. No mesmo arquivo de origem, não para as diferentes classes de diferentes pacotes declaração.

Existem vários níveis de classe de acesso, e a classe pode ser dividida em diferentes tipos: classes abstratas e classes finais e afins. Estes são descritos na seção de controle de acesso.

Para além dos tipos acima mencionados, Java existem algumas categorias especiais, tais como: classes internas, classes anónimos.


pacote Java

Pacote é usado principalmente para categorizar classes e interfaces. Quando você desenvolve um programa Java poderia escrever centenas de aulas, por isso é necessário classificar as classes e interfaces.

Declaração de importação

Em Java, se for dado um nome totalmente qualificado, incluindo o nome do pacote, nome da classe, em seguida, o compilador Java pode facilmente localizar o código-fonte ou categoria. instrução de importação é utilizada para fornecer um caminho razoável, de modo que o compilador pode encontrar uma classe.

Por exemplo, a seguinte linha de comando compilador comando carregará todas as classes java_installation java / path / io de

import java.io.*;

Um exemplo simples

Neste exemplo, criamos duas classes: Funcionário e EmployeeTest.

Primeiro, abra um editor de texto para colar o seguinte código nele. Nota Salve o arquivo como Employee.java.

classe Employee tem quatro variáveis ​​de membro: nome, idade, designação e salariais. Classe declarar explicitamente um método construtor, que é apenas um parâmetro.

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

A execução do programa começa a partir do método principal. Para executar o programa, e deve conter um método main cria uma instância de um objeto.

Aqui estão classe EmployeeTest, instanciar duas instâncias da classe Empregado, e chamar o método para definir o valor da variável.

O código a seguir é armazenado no arquivo 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();
   }
}

Compilar os dois arquivos e executar classe EmployeeTest, você pode ver os seguintes resultados:

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