Java Fundamentals 14 Orientado a Objeto ~ Interface e Classe Interna

Como você que ama programar!
Aprenda cursos práticos SpringBoot https://edu.csdn.net/course/detail/31433
Aprenda cursos introdutórios SpringCloud https://edu.csdn.net/course/detail/31451


Série orientada a objeto:
classe e
encapsulamento de objeto
herdam palavra-chave estática
polimórfica
e interface de modo singleton
e classe interna

Prefácio

Olá a todos. A interface é um tipo importante em Java. No desenvolvimento de projetos reais, um grande número de interfaces será usado, chamado de programação orientada a interface. Este capítulo se concentrará em interfaces e classes internas

interface

Qual é a interface

Insira a descrição da imagem aqui
A interface na vida,
como a interface USB do computador, regula a forma e o tamanho da interface, desde que o dispositivo atenda ao padrão, ele pode ser conectado.

A interface no programa
é um conjunto de especificações, que estipula a definição do método, desde que a classe que implementa a interface seja definida de acordo com a especificação da interface.

Interface de uso

A sintaxe para definir a interface:

public interface 接口名{
	静态常量的定义;
	方法的定义;
}

Nota ao definir a interface:

  1. O método é abstrato e não pode ser realizado
  2. As propriedades definidas serão automaticamente convertidas em constantes estáticas
  3. O método só pode ser público, o padrão é público

Implementar interface

public class 类名 implements 接口名{
	具体方法的实现
}

Preste atenção à implementação da interface:

  1. Todos os métodos da interface devem ser implementados
  2. O método deve ser exatamente igual ao definido na interface
  3. Método deve ser público
  4. Uma classe pode implementar várias interfaces
  5. Uma classe pode herdar a classe enquanto implementa a interface
class 类名 extends 父类 implements 接口{
}
  1. A interface pode herdar a interface, a classe de implementação deve implementar todos os métodos
interface A{
	void testA();
}
//接口之间的继承
interface B extends A{
	void testB();
}
class C implements B{
	public void testA() {
	}
	public void testB() {
	}
}

A importância da interface no desenvolvimento

  1. Elaborar um conjunto de especificações para a realização da aula
  2. Projeto e implementação separados

palavra-chave padrão

Um novo recurso do Java 1.8, os métodos definidos por padrão podem ter implementações padrão.

public interface Person {
	//给接口方法默认的实现
	default void eat(){
		System.out.println("在吃饭!!");
	}
	void walk();
}

A classe de implementação não é obrigatória para implementar métodos com padrão.

Semelhanças e diferenças entre interfaces e classes abstratas

A diferença entre as interfaces e classes abstratas são perguntas da entrevista comuns Semelhanças.
:

  1. Pode haver métodos não implementados
  2. Não pode ser instanciado

diferença:

  1. A classe abstrata é uma herança única, a classe pode implementar várias interfaces
  2. A interface não pode definir um construtor
  3. Os métodos na interface só podem ser públicos e as classes abstratas podem ter vários tipos de acesso.
  4. Apenas constantes estáticas podem ser definidas em interfaces, e variáveis ​​de membros comuns podem ser definidas em classes abstratas.
  5. Métodos abstratos na interface não precisam ser adicionados, classes abstratas devem ser adicionadas.

Classe interna

A classe interna é a classe definida na classe.
As classes internas do Java incluem:

  • Classe interna do membro
  • Classe interna estática
  • Classe interna local
  • Classe interna anônima

Classe interna do membro

Mesmo nível que as variáveis ​​de membro (atributos) e métodos de membro são propriedade de um determinado objeto.
gramática:

class 外部类{
	class 内部类{
	...
	}
}

Características:

  • Geralmente usado apenas em aulas externas
  • Os atributos e métodos da classe interna e da classe são do mesmo nível.
  • Objetos pertencentes à classe são carregados na memória quando cada objeto é criado

Classe interna estática

Adicionar estático à classe interna do membro é a
sintaxe da classe interna estática :

public class 外部类{
	static class 内部类{
	}
}

A diferença com a classe interna do membro:

  1. A classe interna do membro pertence ao objeto, a classe interna estática pertence à classe externa
  2. A classe interna do membro é carregada sempre que um objeto é criado, a classe interna estática e a classe externa são carregadas juntas
  3. O membro da classe interna pode acessar todos os membros da classe externa, e a classe interna estática pode acessar apenas os membros estáticos da classe externa

Classe interna local

A classe definida no método só pode ser usada no método atual e a classe é carregada na memória quando o método é chamado.
gramática:

class 外部类{
	public void test(){
		class 内部类{
		
		}
		内部类 对象 = new 内部类();
	}
}

Classe interna anônima

Uma classe interna sem um nome, um objeto é criado quando a classe é criada.
Aplicação: A classe de implementação da interface ou classe abstrata só precisa ser usada uma vez, e o código é único.
gramática:

new 接口/抽象类()
{
	实现方法
};

Implementar capa USB

//Usb接口
interface Usb{
	void connect(); //连接
	void charge(); //充电
}
//匿名内部类实现接口
Usb usb = new Usb(){
	public void connect(){
		System.out.println("Test2测试连接");
	}
	public void charge(){
		System.out.println("Test2测试充电");
	}
};
usb .connect();
usb .charge();

A diferença da classe geral:

  1. sem nome
  2. Só pode ser usado uma vez
  3. Sem método de construção
  4. Não é possível definir membros estáticos

Pergunta da entrevista: em? Preencha o que pode ser a saída 30, 20, 10 no console.

class Outer {
 	public int num = 10;
     class Inner {
         public int num = 20;
         public void show() {
             int num = 30;
             System.out.println(?);   	num
             System.out.println(?);   	this.num
             System.out.println(?); 	Outer.this.num
         }
     }
 }

 class InnerClassTest {
     public static void main(String[] args) {
         Outer.Inner oi = new Outer().new Inner();
         oi.show();
     }    
 }   

Fim

Ok, todo mundo dominou este artigo? Bem-vindo a deixar uma mensagem para discussão.
Deixe duas tarefas:

  1. Definir interface do jogador, o método de tocar música; definir interface de console do jogo, o método de jogo de jogo;
    definir classe telefone, com atributos de marca e preço, e chamada de método
    definir classe telefone celular para telefone herdar e implementar a interface jogador e consola de jogos
  2. Defina a interface aritmética e defina quatro métodos de adição, subtração, multiplicação e divisão.Cada método tem dois parâmetros duplos e o valor de retorno é duplo.
    Use classes regulares e classes internas anônimas para implementar interfaces.

Se você precisa aprender outro conhecimento Java, dê uma olhada aqui no conhecimento ultra-detalhado de Java Resumo

Acho que você gosta

Origin blog.csdn.net/u013343114/article/details/112523663
Recomendado
Clasificación