Instancia de superclasses e subclasses Duvida

Desculpe pela pergunta, mas não consegui entender pelos livros, como a super classe pode instanciar uma subclasse e uma subclasse que é uma super-classe +adicionais não pode instanciar a super classe, não consegui ver a lógica ainda - DUVI

Vc tem que pensar desta forma:

Object o = new String();

por que isto é possivel?
Observer:

public final class String extends java.lang.Object {

//////

}

A superclasse String pode instanciar a classe pai object porque toda String é um object (extends Object). Os metodos equals, toString entre outros, acessados por 'o '(variavel do codigo acima) serão as implementações sobreescritas da classe String.

Uma outra forma de pensar é com exemplos babacas do tipo

[code] class Animal {}
class Urso extends Animal{}

Animal a = new Urso() //isso funciona pq Urso é Animal e conhece tudo da classe Animal pois a extende
Urso b = new Animal() //isso NÃO funciona pq a classe Animal não conhece nada sobre a classe Urso[/code]

Basicamente é seguir a teoria “geral -> particular”

Como já foi exemplificado


Animal = new urso(); // vai do geral ao particular