Junior
157
Java'da hangi sınıf türleri vardır?
AI'dan gelen yanıt
sobes.tech yapay zeka
- Normal (regular / somut) sınıflar: Örneğinilebilir, alanlar, metodlar, yapıcılar içerir.
- Soyut sınıflar: Doğrudan örneklenemezler. Soyut metodlar (geliştirilmemiş) ve normal metodlar içerebilirler. Alt sınıflar için ortak özellikleri tanımlamak amacıyla kullanılırlar.
abstract class AbstractClass { abstract void abstractMethod(); // Soyut metod void regularMethod() { System.out.println("Normal metod"); } } - İç içe sınıflar (nested classes): Başka bir sınıf içinde tanımlanır. Şunlar olabilir:
- Statik iç içe sınıflar (static nested classes): Dış sınıfın statik olmayan üyelerine erişemezler. Dış sınıf örneği olmadan oluşturulurlar.
class OuterClass { static class StaticNestedClass { // ... } } - İç sınıflar (inner classes): Tüm dış sınıf üyelerine (özel üyeler dahil) erişebilirler. Dış sınıf örneğine bağlıdırlar.
class OuterClass { class InnerClass { // OuterClass üyelerine erişir } } - Yerel sınıflar (local classes): Bir metod, döngü veya if bloğu içinde tanımlanır. Erişimleri sınırlıdır.
class OuterClass { void someMethod() { class LocalClass { // Yerel } LocalClass obj = new LocalClass(); } } - Anonim sınıflar (anonymous classes): İsimsiz, tanımlama veya örnekleme ile aynı anda oluşturulur. Tek kullanımlık kullanımlar içindir.
interface MyInterface { void myMethod(); } MyInterface anon = new MyInterface() { @Override public void myMethod() { System.out.println("Anonim sınıf"); } };
- Statik iç içe sınıflar (static nested classes): Dış sınıfın statik olmayan üyelerine erişemezler. Dış sınıf örneği olmadan oluşturulurlar.
- Kayıt sınıflar (records) (Java 14 ve sonrası): Veri saklama amaçlı, değiştirilemez sınıflar için kısa sözdizimi.
record Person(String name, int age) { // Otomatik olarak oluşturulan yapıcılar, getterlar, equals(), hashCode(), toString() }