No estoy tan seguro de lo que eso implicaría y mi libro de texto está bailando alrededor de la respuesta.¿Se puede usar una clase abstracta como tipo de referencia?
Respuesta
Sí se puede:
abstract class AbstractClass {
}
class DeclaredClass extends AbstractClass {
}
AbstractClass c = new DeclaredClass();
Lo anterior es perfectamente válido.
Lo que entiendo es,
List a = new ArrayList();
Aquí List
es una referencia a un objeto ArrayList
. Entonces, ¿la pregunta significa que es posible en el caso de la clase abstracta?
La lista es una interfaz, por cierto. –
mi mal ... mal ejemplo ... pero sigue siendo una referencia ... –
Puede crear instancias de una clase abstracta de 2 maneras:
abstract class AbstractClass {}
1. Ampliación de la clase abstracta:
class ConcreteClass extends AbstractClass {}
AbstractClass c = new ConcreteClass();
2. Usando Anónimo Clase:
AbstractClass c = new AbstractClass(){};
- 1. referencia a la clase abstracta
- 2. ¿Se puede usar un tipo de referencia como tipo de clave en un mapa STL?
- 3. Uso de Windows Form como clase abstracta: ¿qué patrón usar?
- 4. serialización de una clase abstracta
- 5. ¿Se puede extender (heredar) una clase no abstracta en Java?
- 6. Cómo y cuándo usar una clase abstracta
- 7. iOS: ¿No se puede usar 'super' como referencia?
- 8. ¿Implementar clase abstracta como una clase local? pros y contras
- 9. ¿Necesita una clase abstracta así como una interfaz?
- 10. ¿Puede una clase abstracta extender otra clase abstracta y aumentar la funcionalidad?
- 11. Referencia de clase como propiedad
- 12. ¿Por qué EnumSet se implementa como clase abstracta y EnumMap se implementa como clase concreta?
- 13. No se puede convertir el tipo derivado a la clase abstracta base con el parámetro de tipo
- 14. ¿Se puede burlar de un objeto que implementa una interfaz Y una clase abstracta?
- 15. ¿Por qué la clase HttpServlet se declara como abstracta?
- 16. Clase base abstracta vs. Clase concreta como SuperTipo
- 17. devolver una clase abstracta desde una función
- 18. Cuándo usar la clase o interfaz abstracta?
- 19. php clase abstracta extendiendo otra clase abstracta
- 20. ¿Cuáles son los beneficios de usar una clase parcial en lugar de una clase abstracta?
- 21. ¿Puede un cierre Groovy extender una clase abstracta
- 22. ¿Cómo comprobar si una clase Delphi se declara abstracta?
- 23. devolver una lista de clase abstracta
- 24. Usando un método de una clase abstracta
- 25. ¿Cómo se decide entre usar una clase abstracta y una interfaz?
- 26. Python - Prueba de una clase base abstracta
- 27. Perl No se puede usar una cadena como símbolo ref mientras que la referencia estricta
- 28. Clase abstracta que hereda el tipo más derivado
- 29. Usando Delphi, no se puede usar el tipo anonymus como tipo de registro?
- 30. Tipo de referencia no puede encontrar el tipo público llamado
Pensé que no estabas permitido en stantiate una clase abstracta, ¿o estoy leyendo la última línea incorrectamente? – nogamo
@nogame Eche un vistazo más de cerca. La clase declarada se instancia no la clase abstracta. – helpermethod
Ah, entonces si fuera DeclaredClass c = new AbstractClass(); entonces sería inválido? – nogamo