Java sınıf dosya adları olarak ayrılmış anahtar sözcükleri kullanabilir mi?
Java-derlenebilir-programlama-dili ve--Java-format--JVM-Java çalıştırma için aynı değil farkındayım. Bu geçerli olan şeylerden örnekler vardır .sınıf biçim ama değil .kaynak kodu, daha az yapıcı sınıflar ve sentetik yöntemler gibi java.
Eğer bizel-zanaat .sınıf dosyasıayrılmış Java dili bir anahtar kelime (örn:
int
,while
) sınıf, yöntem ya da alan adı olarak, Java sanal makine yüklenmesi için bunu kabul eder mi?Eğer sınıf yüklenir, sınıf veya üye bu erişmenin tek yolu adı sözdizimsel Java programlama dilinde yasadışı olduğu için Java yansıma olduğunu ima ediyor mu?
CEVAP
Evet, ayrılmış sözcükler kullanabilirsiniz. Kelimeleri sadece derleyici için. Oluşturulan byte kodun içinde görünür.
Ayrılmış Java kelimeler kullanarak bir örnek JVM tabanlı Scala dilinde. Scala farklı yapıları ve Java daha sözdizimi vardır, ama bayt kod, JVM üzerinde çalışan Java derler.
Bu yasal Scala
class `class`
Bu bir sınıf class
adlı hayır-arg yapıcı ile tanımlar. class.class
derlenmiş dosya üzerinde javap
(bir çözücü) çalışan gösterir
public class class {
public class();
}
Scala başka bir Java ayrılmış kelime ile aynı şeyi yapabilirsiniz.
class int
class `while`
class goto
Ayrıca, yöntem ya da alan adları için kullanılabilir.
Şüphelendiğin gibi, Java bu sınıfları kullanabilmek için, yansıma dışında olmaz. Sanaolabilirbir benzer şekilde, bu" sınıf dosyası, örneğin sınıf bir dosyadan Scala derleyici tarafından oluşturulan. "özel kullanım
Özetle, bu javac (derleyici), java (VM/çalışma zamanı ortamı) bir sınırlama var.
Neden Java statik olarak bir sınıf bil...
Bir Dosya gönderme ve JSON olarak Java...
Gerçekten nasıl okunur metin Java sını...
Neden Java bize bir isim dosya adından...
Java, nasıl bir dosya yerine bir Dize ...