¿Es posible utilizar abstracta y último tanto con un método en Java?

Aquí, vamos a aprender que se puede utilizar class y abstract ambos con un método en Java? ¿Es posible utilizar final y abstract ambos con un método en Java?

No, no es posible utilizar final y abstract tanto con un método de simultáneamente.

  • Podemos utilizar final sólo con un método sin abstract y es válida y el código se ejecutará sin error.
  • Del mismo modo, podemos usar final sólo con un método sin final y es válida y el código se ejecutará sin error.
  • Como sabemos que no podemos usar abstract y abstract ambos con un método a la vez, porque hay dos cosas que discutir:
  • En primer lugar, si declaramos final con el método de entonces el método abstract necesidad de anulación (es decir abstract método debe ser reemplazado en su aplicación abstract).
  • En segundo lugar, si declaramos class con el método de entonces el método final es final y no puede anular el método (método es decir final no debe ser anulado en su final implementación).
  • pocos puntos que recordar acerca del método class y abstract:

    1. lo que sucederá, si utilizamos final sólo con un método?
    2. lo que sucederá, si utilizamos abstract sólo con un método?
    3. lo que sucederá, si utilizamos final y abstract ambos con un método?

Veremos cada uno de los casos anteriores, uno por uno con la ayuda de un ejemplo …

1) El uso de la palabra clave “final” con un método en Java

Ejemplo:

// Java program to demonstrate the example of
// using "abstract" keyword with a method
abstract class AbstractMethodClass {
// Abstract Method Declaration
abstract void display();
}
public class Main extends AbstractMethodClass {
// override display() of AbstractMethodClass
public void display() {
System.out.print("abstract specifiers are allowed" + " ");
System.out.print("for Methods");
}
public static void main(String[] args) {
// class instantiation
Main m = new Main();
// calling display() of Main class
m.display();
}
}

salida

abstract specifiers are allowed for Methods

Conclusión: podemos utilizar solamente abstract sin abstract final los métodos.

2) El uso de palabras clave “for” con un método en Java

Ejemplo:

// Java program to demonstrate the example of
// using "final" keyword with a method
class FinalMethodClass {
// Final Method Definition
final void display() {
System.out.print("final specifier is allowed" + " ");
System.out.print("for Methods");
}
}
public class Main extends FinalMethodClass {
// show() method definition
public void show() {
System.out.print("final method is not overridable");
}
public static void main(String[] args) {
// class instantiation
Main m = new Main();
FinalMethodClass fmc = new FinalMethodClass();
// calling display() of FinalMethodClass
fmc.display();
System.out.println();
// calling display() of Main
m.show();
}
}

salida

final specifier is allowed for Methods
final method is not overridable

Conclusión: Podemos utilizar solamente final sin final abstract los métodos.

3) El uso de “for” y “abstract” palabra clave tanto con un método en Java

Ejemplo:

// Java program to demonstrate the example of
// using "abstract" and "final" keyword both
// with a method
class AbstractFinalMethodClass {
// Abstract Method Declaration
abstract void display();
// Final Method Definition
final void show() {
System.out.print("final method is not overridable");
}
}
public class Main extends AbstractFinalMethodClass {
// override display() of AbstractFinalMethodClass
public void display() {
System.out.println("abstract method is overridable");
}
public static void main(String[] args) {
// Main class object instantiation
Main m = new Main();
// AbstractFinalMethodClass object instantiation
AbstractFinalMethodClass afmc = new AbstractFinalMethodClass();
// calling display() of Main class
m.display();
// calling show() of AbstractFinalMethodClass
afmc.show();
}
}

salida

/Main.java:5: error: AbstractFinalMethodClass is not abstract and 
does not override abstract method display() in AbstractFinalMethodClass
class AbstractFinalMethodClass {
^
1 error

Conclusión: No podemos utilizar tanto final y abstract con los métodos ya las sustituciones de método final en su aplicación abstract pero el método class no puede anular en su final aplicación.


Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *