Diferença entre método estático e não estático

Diferença entre método estático e não estático
Diferença entre método estático e não estático

Vídeo: Diferença entre método estático e não estático

Vídeo: Diferença entre método estático e não estático
Vídeo: Transistor MOSFET 02: Mosfet x Transistor Bipolar BJT 2024, Novembro
Anonim

Método Estático vs Não Estático

Um método é uma série de instruções que são executadas para realizar uma tarefa específica. Os métodos podem receber entradas e produzir saídas. Métodos estáticos e não estáticos são dois tipos de métodos presentes em linguagens de programação orientadas a objetos. Um método estático é um método associado a uma classe. Um método associado a um objeto é chamado de método não estático (instância). Em linguagens orientadas a objetos, os métodos são usados como um mecanismo para operar em dados armazenados em objetos.

O que é um método estático?

Na programação orientada a objetos, método estático é um método associado a uma classe. Portanto, os métodos estáticos não têm a capacidade de operar em uma instância específica de uma classe. Métodos estáticos podem ser invocados sem usar um objeto da classe que contém o método estático. A seguir está um exemplo de definição de um método estático em Java. O estático deve ser usado ao definir um método estático em Java.

public class MyClass { public static void MyStaticMethod() { // código do método estático }

}

O método estático definido acima pode ser chamado da seguinte forma usando o nome da classe a que pertence.

MyClass. MyStaticMethod();

Uma coisa importante a ser observada é que métodos estáticos só podem acessar membros estáticos.

O que é um método não estático?

Um método não estático ou um método de instância é um método associado a um objeto em uma classe. Portanto, métodos não estáticos são chamados usando um objeto da classe na qual o método está definido. Um método não estático pode acessar membros não estáticos, bem como membros estáticos de uma classe. Em muitas linguagens orientadas a objetos (como C++, C, Java), quando um método não estático é chamado, o objeto que invocou o método é passado como um argumento implícito (é chamado de referência ‘this’). Assim, dentro do método esta palavra-chave pode ser usada para se referir ao objeto que chamou o método. A seguir está um exemplo de definição de um método de instância em Java.

public class MyClass { public void MyInstanceMethod() { // código do método de instância }

}

O método de instância definido acima pode ser chamado da seguinte forma usando um objeto da classe a que pertence.

MinhaClasse objMinhaClasse=new MinhaClasse();

objMyClass. MyInstanceMethod();

Qual é a diferença entre Método Estático e Não Estático?

Métodos estáticos são métodos associados a uma classe, enquanto métodos não estáticos são métodos associados a objetos de uma classe. Uma classe precisa ser instanciada primeiro para invocar um método não estático, mas os métodos estáticos não têm esse requisito. Eles podem ser simplesmente invocados usando o nome da classe que contém o método estático. Outra diferença importante é que um método não estático geralmente possui uma referência ao objeto que chamou o método e pode ser acessado usando a palavra-chave this dentro do método. Mas esta palavra-chave não pode ser usada em métodos estáticos, pois eles não estão associados a um objeto específico.

Recomendado: