Bir sınıf ile o sınıfın bir örneği arasındaki farkı anlamalısınız. Sokakta bir araba görürseniz, hangi modeli veya türü göremeseniz bile hemen bir araba olduğunu bilirsiniz. Bunun nedeni, gördüklerinizi "araba" sınıfıyla karşılaştırmanızdır . Sınıf, tüm arabalara benzeyen içerir. Bunu bir şablon veya fikir olarak düşünün.
Aynı zamanda, gördüğünüz araba, beklediğiniz tüm özelliklere sahip olduğu için "araba" sınıfının bir örneğidir: Onu kullanan biri var, bir motoru, tekerlekleri var.
Sınıf "tüm arabaların rengi var" der ve örnek "bu araba kırmızıdır" der.
OO dünyasında, sınıfı ve sınıfın içinde bir yazı alanı tanımlarsınız Color
. Sınıf somutlaştırıldığında (belirli bir örnek oluşturduğunuzda), bellek renk için ayrılır ve bu özel örneğe bir renk verebilirsiniz. Bu öznitelikler spesifik olduğu için statik değildirler.
Statik alanlar ve yöntemler tüm örneklerle paylaşılır. Belirli bir örnek için değil, sınıfa özgü değerler içindir. Yöntemler için, bu genellikle küresel yardımcı yöntemlerdir (gibi Integer.parseInt()
). Alanlar için genellikle sabittir (araba türleri gibi, yani sık sık değişmeyen sınırlı bir kümeye sahip olduğunuz bir şey).
Sorununuzu çözmek için, çalışma zamanının örnek için bellek ayırabilmesi amacıyla sınıfınızın bir örneğini (nesne oluştur) başlatmanız gerekir (aksi takdirde, farklı örnekler istemediğiniz birbirlerinin üzerine yazılır).
Sizin durumunuzda, bu kodu bir başlangıç bloğu olarak deneyin:
public static void main (String[] args)
{
try
{
MyProgram7 obj = new MyProgram7 ();
obj.run (args);
}
catch (Exception e)
{
e.printStackTrace ();
}
}
// instance variables here
public void run (String[] args) throws Exception
{
// put your code here
}
Yeni main()
yöntem, içerdiği sınıfın bir örneğini oluşturur (kulağa garip gelir, ancak main()
örnek yerine sınıfla oluşturulduğundan, bunu yapabilir) ve sonra bir örnek yöntemi ( run()
) çağırır .
C
. Ama çok iyi olmayacak. Java'yı nesne yönelimli bir dil olarak kullanılması gerektiği şekilde kullanmaya çalışın.