Static C, C++, Objective-C ve Java gibi programlama dillerinde bulunan bir anahtar sözcüktür. Java programlama dilinde bir metot ya da değişkenin belli bir objeye degil de bir sınıfın tamamına ait olduğunu belirten bir kelimedir.
İçinde buluduğu sınıftan nesne oluşturulmadan veya hiç bir nesneye referans olmadan kullanılabilen üyeler static olarak nitelendirilir. Metotlar ve alanlar staticolarak tanımlanabilir.
Java'da Static deyimi, sınıf değişkenlerini ve ya sınıf metotlarını tanımlarken kullanılır. Eğer bir sınıfa ait değişkenlerin başına "static" yazılırsa, o değişkenler artık sınıf değişkeni olurlar.
Static sınıfındaki bir değişken programın tüm icrası süresince geçerliliğini korur. O nedenle bir fonksiyon içinde tanımlanmış olsa bile fonksiyon terkedilince değerini kaybetmez.
Java'da statik değiştirici, bir şeyin doğrudan bir sınıfla ilgili olduğu anlamına gelir: eğer bir alan statikse, o zaman sınıfa aittir; bir yöntem statik ise, o zaman sınıfa aittir. Sonuç olarak, statik bir yöntemi çağırmak veya statik bir alana başvurmak için sınıfın adını kullanabilirsiniz.
İlgili 42 soru bulundu
static final olarak tanımlanmış bir instance variable ya değer tanımlanırken (örnek olarak a değişkeni) yada static blok (örnek olarak b değişkeni) ile tanımlanır. Bu kullanımda constructor'a parametre geçerek değer atama işlemi gerçekleştirilemez.
Java Sınıf Değişkenleri
Görüleceği üzere, sınıf şablonu içindeki statik değişkenleri içinde barındırmaktadır. Her obje için ortak oldukları için ve her objenin bu alana erişimi olduğu için statik alan olarak da ifade edilir.
Java'da Static deyimi, sınıf değişkenlerini ve ya sınıf metotlarını tanımlarken kullanılır. Eğer bir sınıfa ait değşikenlerin başına "static" yazılırsa, o değişkenler artık sınıf değişkeni olurlar. Sınıf değişkeni olarak tanımlanan değişkenler, her nesne oluşturduğumuzda ayrı ayrı oluşmazlar.
Statik Değişken: Programın var bölümünde tanımlanan ve program işlediği sürece bellekte kendisine belirli bir yer ayrılan değişken türüdür. Şimdiye kadar ele aldığımız değişkenler bu türdendir. Var bölümünde tanımlanan bütün değişkenler bu türdendir.
Statik sınıf, yalnızca giriş parametreleri üzerinde çalışan ve iç örnek alanlarını almak veya ayarlamak zorunda olmayan yöntem kümeleri için kullanışlı bir kapsayıcı olarak kullanılabilir.
static Tipi Değişkenler
Herhangi bir değişken static tip değiştirici sözcüğü kullanılarak tanımlanırsa, içinde tanımlandığı fonksiyon ana program tarafından birden fazla çağrıldığında, her çağrılışında daha önce tuttuğu değeri korur. static int x; Yukarıdaki satırda x, static int bir değişken olarak tanımlanmıştır.
void (C++)
İşaretçi void* başka herhangi bir veri işaretçisi türüne dönüştürülebilir. C++ dilinde işaretçi void , serbest bir işlevi (sınıfın üyesi olmayan bir işlev) veya statik üye olmayan bir işleve işaret edebilir ancak statik olmayan bir üye işlevine işaret edebilir.
main metodu, programı başlatan kod tarafından çağrılması gerektiğinden herkese açık(public) olmalıdır. Bir sonraki anahtar kelime static'dir. Bu, main yönteminin sınıfın her özel örneğinde yaşamadığı, aksine sınıfın bütünü için sadece bir tane olduğu anlamına gelir. Yani sınıfa aittir anlamına gelmektedir.
Fonksiyon içindeki değere sonradan tekrar çalıştığında kaldığı yerden devam etmesini istiyorsak static fonksiyonu kullanıyoruz. Yani aynı fonksiyonu birden fazla çağırdığımızda her seferinde başa almaması için.
" Statik yük, lineer aktüatörün enerji verilmemiş, hareketsiz durumda göreceği yükü ifade eder. Dinamik yük, enerji verildiğinde ve uzama ya da çekilme durumunda aktüatörün gördüğü yükü ifade eder."
Ancak bazı durumlarda sabit metotlar (static methods) tanımlanabilir. Bu metotlar bir nesne ile var olmayan ancak sınıfın kendisinde tanımlı metotlardır. Yani bu metodun çalışması için o sınıftan bir nesne üretilmesi gerekmemektedir. Bu anlamda sabit metotlara, sınıf metotları (class methods) ismi de verilmektedir.
Statik değişkenler yerel kapsamda da bildirilebilir. Statik süre, nesnenin veya değişkenin program başlatıldığında ayrıldığı ve program sona erdiğinde serbest bırakıldığı anlamına gelir. Dış bağlantı, değişkenin adının değişkenin bildirildiği dosyanın dışından görüleceği anlamına gelir.
Statik Değişkenler oluşturulduğunda ait olduğu sınıf için hafızada bir tek yer açılır. Oluşturulan her bir nesne için tekrardan bellekte yer kaplamazlar. Statik değişkenler nesneye bağlı olmadan oluşturuldukları için, onlara nesne yaratılmaksızın erişilir.
C++ statik değişkenler, oluşturulduğu andan itibaren global değişkenler gibi davranarak program çalışma süresince bellekte kalırlar. Fonksiyon kapsamı (scope) sonuna gelindiğinde bellekten atılmazlar. Statik değişkenler, ilk tanımlandıkları değeri muhafaza ederler.
“static” anahtar kelimesini kullanarak bir sınıf tanımlayabiliriz. Bir sınıfın bir üyesinin static olması sınıfın kaç adet nesnesinin oluşturulduğunun önemi olmadan static üyenin yalnızca bir kopyası olduğu anlamına gelir. Static bir üye sınıfın tüm nesneleri tarafından paylaşılır.
Statik oluşturucu, statik verileri başlatmak veya yalnızca bir kez gerçekleştirilmesi gereken belirli bir eylemi gerçekleştirmek için kullanılır. İlk örnek oluşturulmadan veya statik üyelere başvurulmadan önce otomatik olarak çağrılır. Statik oluşturucu en fazla bir kez çağrılır.
Statik Metotlar, kendisini hangi sınıf veya örneğin çağırdığını bilmez. Sadece kendine verilen argümanları bilir, örnek veya sınıf metotları gibi, gizli bir ilk argüman almazlar. Bu yönden bakıldığında, bu fonksiyonun sınıf içinde yazılmasıyla, sınıf dışında yazılması arasında, hiçbir fark yoktur.
8- Dilin Doğası
C++ statik olarak yazılan bir dildir. Yani; değişkenin bildirimi, değişken veri türü derleme zamanında doğrulanır. Bu durum, kaynak kodunun çalışma zamanında hatasız kalmasını sağlar. Python, statik yazılmamıştır.
Statik programlama dili, her değişken tipinin önceden belirtiliyor olmasıdır. Yani string bir değer tanımlıyorken başına string, sayi tanımlıyorken int, double, float gibi tipleri yazıyoruz. Bu nedenle değişken tipleri program henüz çalışmıyorken bile bu tiplerin neler olduğunu biliyor.
Static deyimi class içerisinde tanımlanan değişken ve fonksiyonlar için kullanılır. Eğer bir değişken veya fonksiyon static yapısında tanımlanmışsa, bu üyelere erişmek için yeni bir nesne oluşturmaya gerek yoktur.
Benzer sorularSıkça sorulan sorular
DuyuruReklam alanı
Popüler SorularSıkça sorulan sorular
© 2009-2024 Usta Yemek Tarifleri