Super palavra-chave em Java - Como a super palavra-chave funciona em Java, por exemplo?

Índice:

Anonim

Introdução à super palavra-chave em Java

Super é uma palavra-chave usada para chamar uma função ou método na superclasse. Isso será definido dentro da subclasse. Métodos que são apenas públicos e protegidos podem ser chamados usando esta palavra-chave. Em outras palavras, métodos privados e métodos estáticos não podem ser chamados usando isso. A super palavra-chave em java também pode ser usada para chamar os construtores da classe pai. Sintaxe, exemplos e detalhes adicionais de super palavra-chave serão discutidos nas seções a seguir.

Sintaxe

super.<> or super((0 or more arguments));

Como a Super Keyword funciona em Java?

Como já mencionado, o super pode ser usado em várias ocasiões. Eles são usados:

  • Para referenciar variável de instância de uma classe pai imediata.
  • Para se referir ao método de uma classe pai imediata.
  • Para referenciar o construtor de uma classe pai imediata.

Agora, vamos ver cada um deles em detalhes.

1. Para referenciar variável de instância de uma classe pai imediata

Se a classe pai e filho tiverem os mesmos membros de dados, a palavra-chave Super poderá ser usada para acessar o campo ou membro de dados da classe pai. A ambiguidade para Java Virtual Machine pode ocorrer nesse caso.

Exemplo:

class A (
protected String name="ann";
)
class B extends A (
public String name="Anna";
public void hello() (
System.out.println("I am " + name);
System.out.println("I am " + super.name);
)
)

Aqui, duas classes A e B têm um nome de campo comum. Uma função printType () dentro da classe filho usa a super palavra-chave para referenciar o campo em uma classe pai.

2. Para Referir o Método de uma Classe Pai Imediata

A substituição de método é um processo pelo qual uma classe filho declara a mesma função ou método que já está disponível na classe pai. Suponha que, se uma chamada para o método acontecer a partir do objeto da classe filho, o método somente na classe filho será chamado. Para acessar o método pai, uma super palavra-chave pode ser usada.

Exemplo:

class A (
protected String name="ann";
public void hello() (
System.out.println("I am " + name);
)
)
class B extends A (
public String name="Anna”;
public void hello() (
System.out.println("I am " + name);
)
public void test()
(
hello();
super.hello();
)
)

Aqui, duas classes A e B têm o mesmo método hello (). Com a ajuda de uma super palavra-chave na função test (), é possível acessar o método hello () de uma classe pai.

3. Referir o Construtor da Classe Pai Imediata

Já se sabe que um construtor (padrão) é chamado automaticamente quando o objeto de uma classe é criado. A super palavra-chave pode ser usada para chamar explicitamente o construtor da superclasse a partir do construtor da subclasse. Certifique-se de que super seja usado apenas dentro do construtor da subclasse e seja a primeira instrução dentro disso.

Exemplo:

class A (
//constructor of parent class
A() ( System.out.println("I am Kavya Madhavan");
)
)
//child class
class B extends A (
//constructor of child class
B() (
super();
System.out.println("I am Dileep Menon"); ) )

Exemplos de super palavra-chave em Java

Abaixo estão os diferentes exemplos de super palavra-chave em Java:

Exemplo 1

No programa a seguir, um nome de variável comum está presente e super é usado para chamar a variável em uma classe pai.

//Java program to illustrate Super keyword to refer instance variable
//parent class
class A (
protected String name="ann";
)
//child classs
class B extends A (
public String name="Anna";//variable which is same in parent class
//sample method
public void hello() (
System.out.println("I am " + name);
System.out.println("I am " + super.name);
)
)
//main class
public class SuperExample (
public static void main(String() args) (
B objb=new B();//object of child class
objb.hello();//call the method in child class
)
)

Resultado:

Exemplo - 2

Este programa ajuda a demonstrar a super palavra-chave enquanto se refere ao mesmo método em uma classe pai. Aqui, hello () é um método disponível em ambas as classes.

//Java program to illustrate Super keyword to refer same method in parent class
//parent class
class A (
protected String name="ann";
public void hello() (
System.out.println("I am " + name);
)
)
//child classs
class B extends A (
public String name="Anna";//variable which is same in parent class
//sample method which is same in parent class
public void hello() (
System.out.println("I am " + name);
)
//method to call the hello() method in parent and child class
public void test()
(
hello();
super.hello();
)
)
//main class
public class SuperExample (
public static void main(String() args) (
B objb=new B();//object of child class
objb.test();//call the method in child class
) )

Resultado:

Exemplo - 3

Este programa chama o construtor da classe pai usando a super palavra-chave.

//Java program to illustrate Super keyword to refer constructor in parent class
//parent class
class A (
//constructor of parent class
A() (
System.out.println("I am Kavya Madhavan");
)
)
//child class
class B extends A (
//constructor of child class
B() (
super();
System.out.println("I am Dileep Menon");
)
)
//main class
public class SuperExample (
public static void main(String() args) (
B objb=new B();//object of child class
)
)

Resultado:

Exemplo - 4

Este programa demonstra o uso de uma super palavra-chave para se referir ao construtor parametrizado de uma classe pai.

//Java program to illustrate Super keyword to refer parameterised constructor in parent class
//parent class
class A (
//constructor of parent class
A() (
System.out.println("I am Kavya Madhavan");
)
//parameterised constructor
A(String name) (
System.out.println("I am " + name);
)
)
//child class
class B extends A (
//constructor of child class
B() (
super("Renuka");
System.out.println("I am Dileep Menon");
)
)
//main class
public class SuperExample (
public static void main(String() args) (
B objb=new B();//object of child class
)
)

Resultado:

Conclusão

Super é uma palavra-chave em Java usada para se referir aos métodos ou funções, variáveis ​​de instância ou atributos e construtores na classe pai. Se um construtor não for declarado, o compilador cria automaticamente um construtor padrão. Da mesma forma, o compilador chama super () automaticamente se não for declarado. Neste documento, vários aspectos da super palavra-chave são explicados em detalhes.

Artigos recomendados

Este é um guia para a Super palavra-chave em Java. Aqui discutimos como a super palavra-chave dose funciona em java junto com exemplos. Você também pode consultar os seguintes artigos para saber mais -

  1. JComponent em Java
  2. Construtor em Java
  3. O que é herança em Java?
  4. Modificadores de acesso em Java
  5. Método estático em PHP
  6. Herança em PHP
  7. Guia completo de herança em Python
  8. esta palavra-chave em java | Exemplos desta palavra-chave
  9. Método estático JavaScript | Como trabalhar? | Exemplos