2011-09-15 22 views

cevap

2

Bu ilginç bir nokta: Object sınıfı, alt sınıflarından biri olan String (özellikle, toString() yöntemini bildirmek ve uygulamak için) hakkında bilgi sahibi olur.

Java dil belirtiminin bir kısmı, tüm sınıfların Object'in alt sınıflarıdır. Teknik olarak, bir sınıfın alt sınıflarından birine atıfta bulunmak için "zayıf tasarım" olmasına rağmen, bunun bir "kenar hali" olduğunu düşünüyorum ve endişelenecek bir şey değil.

3

Çocuk sınıfı olduğu sürece bu bir problem değildir. Örneğin, aşağıdaki geçerlidir:

A.java:

public class A { 
    B b; 
} 

B.java:

public class B extends A { 

} 
0

yapar Object üzerinde toString varsayılan uygulama olduğundan String örneğinin döndüğüne emin olun. Her sınıf bir Object örneğidir ve alt sınıflar üzerinde toString uygulamasını uygulayabilmeniz ve uygulamanız gerekmesine rağmen, her zaman bu varsayılan uygulamayı ücretsiz olarak alırsınız.

Başka bir sınıfın örneklerini döndüren herhangi bir sınıftaki yöntemleri engelleyen hiçbir şey yoktur. Her zaman SomethingElse başka bir sınıf olan

return new SomethingElse()

yapabilirsiniz.