Das kommt drauf an, was du mit "Substitutionsprinzip in Java" meinst.
Die Sprache kann im allgemeinen nicht sicherstellen, dass alle Objekte das Liskovsche Substitutionsprinzip erfüllen (falls doch berichtigt mich), du kannst aber durchaus Objekte erstellen, die das Liskovsche Substitutionsprinzip erfüllen.