Możliwe jest definiowanie klas sealed
w Scali, które są w zasadzie final
, chyba że podklasy odbywają się w tym samym pliku.Czy klasy szczelne są egzekwowane w Javie, a jeśli tak, to w jaki sposób?
Wygląda na to, że JVM nie zezwala na klasy final
z kodami podtestowymi i.
Biorąc pod uwagę, że nie ma "pojęcia" pliku źródłowego w kodzie bajtowym, w jaki sposób jest ono egzekwowane?
W związku z tym, w jaki sposób javac
może uniemożliwić podklasę klasy Scala sealed
w języku Java?
Tak więc, aby wyjaśnić, pytasz, czy możliwe jest posiadanie "zapieczętowanych" klas w kodzie Scala uruchamianym na maszynie JVM (** nie **, czy jest to możliwe, w języku Java *, aby mieć coś podobnego do "zamknięte" klasy). Dobrze? –
Co masz na myśli przez "Wygląda na to, że JVM nie pozwala na kodowanie kodu końcowego klasy"? Czy nie ma bajtów oznaczających koniec klasy? – pedrofurla
@pedrofurla: AFAIK JVM nie zezwala na podklasy klas oznaczone 'final' w bajtodzie? Czy to ograniczenie jest wymuszane tylko w 'javac'? – soc