static etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
static etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

30 Aralık 2019 Pazartesi

Yazdım da ne oldu ? (100. Yazı - Ustalara Vefa)

     S.A. Arkadaşlar,
     İlk defa teknik olmayan bir yazı yazıyorum. Bunun sebebini başlıktan anlamışsınızdır :) Hem mutluluğumu hem de bana sıkça sorulan "yazıyorsun da ne oluyor veya yazmanın sana katkısı nedir?" gibi soruların cevabını sizlerle paylaşmak. Ayrıca yazmak isteyip de bir türlü başlayamayan arkadaşlara da başlamalarına vesile olur.

27 Ekim 2019 Pazar

Angular Çalışma Notlarımdan - 1 (Type Script)

      S.a. Arkadaşlar,
      Son dönemlerde Angular'a olan ilgim nedeniyle daha düzenli ilerlemek açısından kursa başlamıştım. Kursu bitirip proje de yapmıştım, fakat üzerinden zaman geçince kursu tekrardan gözden geçirmek istedim. İkinci defa izlediğimde her şeyin daha iyi oturduğunu fark ettim. Daha iyi anladığımı düşündüğüm halde ileride kendime aldığım notları elden geçirip sizinle de paylaşmak istedim. Bu yazıyı hazırlarken Uygar Manduz'un verdiği eğitim sonrası yazının kapsamı genişledi. 3 yazılık bir seri olarak ele almaya karar verdim. 1. yazıda type scripti ele alacağız.

17 Ekim 2019 Perşembe

Birbirine Benzeyen 3 İfade: const, static ve readonly

     S.a. Arkadaşlar,
     Bugün herkesin bildiği ama aslında aralarında farklar bulunan 3 keywordü inceleyeceğiz: const, readonly ve static. Bu yazının çıkış noktası mülakatta bana sorulan readonly ile const arasındaki fark nedir sorusuydu. Buna ek olarak bugün const olarak tanımladığım değişkeni değiştirmek istediğimde (.net core - vs - debug mode) kodu tekrardan derlememi istedi, değişkeni daha sonra readonly yaptığımda buna gerek kalmadığını gördüm. Böylece bu konuda güzel bir toparlama yazısı yazmak istedim. Hazırsak başlayalım.

21 Şubat 2017 Salı

Neden static(keyword) kullanmamalıyız ?

 
     S.a. Arkadaşlar,
    Static tanımların neden kullanılmaması gerektiği ile ilgili bir kaç sebep paylaşmak istedik. İşte bazı sebepler:

5 Ekim 2016 Çarşamba

Developer Mülakat Soruları

      S.a. arkadaşlar,
Uzun bir aradan sonra tekrar ilk kez yazıyorum. Bugün yazacağım konu direkt java ile ilgili bir konu değil. Mülakatlarda karşılaştığım ve farklı sitelerden derlediğim java mülakat sorularını ele alıp yine kendimizce cevap arayacağız. Eksiklik veya hata olduğunu düşündüğünüz yerlerde benimle irtibata geçersiniz tekrardan gözden geçirebilir. Umarım istediğiniz gibi güzel işler bulursunuz.
Not: 2.yazıya buradan erişebilirsiniz.

22 Aralık 2014 Pazartesi

Değişkenlerle İlgili

Bu yazımızda değişken tanımlamalarından, neyin nerde tanımlanabileceği ve ne kadar süre varlığını sürdürebilir gibi sorulara cevap vermeye çalışacağız. Şimdi konumuza bir kod örneği ile devam edelim.

class Sinif {
static int count = 20; // static değişken, her yerde geçerlidir
String s; // instance değişken, staticten sonra en kapsamlı değişken
                //new operatörü ile kullanılır
int i; // instance variable – yukarıdaki String ile aynı tanımlama
void coolMethod() {
                int k = 25; // local (yerel) değişken, sadece bu metodda
                for (int t = 0; t < 10; t++)
                          k += k + t; // block variable, sadece bu blokta
                }//metod
}//sinif

           Daha önceki yazılarımızda söylemiştik , static olmayan değişkenleri static olan yerden çağıramıyoruz. Yani ne demek istiyoruz derseniz, şöyle:

public static void main(String[] args) {
       //  s="error"; // yukarıdaki kodda s tanımlanmış olduğu halde hata verir
                           //sebebi ise new operatörü ile ancak çağırabilmesidir
          Sinif  sinif= new Sinif();
          npe.s="run"; //burada doğru bir şekilde çalışır
          count=5; // burada herhangi bir hata olmayacaktır. Çünkü count statictir
      }

Şimdi de değişkenlerin değer atanmadan önceki hallerini inceleyecek olursak ;
Bildiğiniz gibi 2 çeşit değişken vardı. Primative (ilkel) ve nesneler vardı
İnt,long,short,byte = 0
Float,doube=0.0
Boolean=false
Char=’\u0000’
Tüm nesneler ise = null olur.

           Hatırlatacağımız bir nokta daha instance olan değişkenler değer atanmandan da kullanabilir. Çünkü otomatik olarak null değer atanır. Aynı şeyler diğer tipteki değişkenler için de geçerlidir. Fakat local olan değişkenler kesinlikle tanımlanmalıdır. Yani ;

class NPE {
String s; // instance variable
         public static void main(String[] args) {
             String h;
             //System.out.println(h); burada hata veriyorken, o nedenle localler kesinlikle tanımlanmalı
             NPE npe= new NPE();
             System.out.println(npe.s); //burada null değeri verir. Çünkü otomatik tanımlama vardır          
         }

}

16 Aralık 2014 Salı

Static Değişken ve Metodlar

S.a. Arkadaşlar,
Bugünkü yazımızda static değişken ve metorları incelemeye çalışacağız. Nedir peki bu static olma konusu, bir sınıfta çağırılıp her yerde erişilebilen değişkenlerdir. Tek bir kopyası vardır ve her yerde o kopya üzerinde işlem yapılır. Örneğin elimizde farklı sınıflardan erişmek istediğimiz bir değişkenimiz olsun. Bunu nasıl kullanabiliriz. İşte tam da bu sorunun cevabıdır aslında static kavramı. Şimdi yazdığımız bir kod üzerinde bunu incelersek umuyorum ki taşlar yerine daha iyi oturacaktır.

public class SayacArtir {
    
static int count = 0;
        int sayac=0;

SayacArtir() {
count++;
                sayac++;
}

void method1() {
System.out.println("metod1 içinde count Değeri:"+count); 
          System.out.println("metod1 içinde sayac Değeri:"+sayac);          
}
     
static void method2(){
         System.out.println("Metod2 içinde count Değeri:"+count); // OK
        //System.out.println(sayac); // ERROR
        //static olan metoddan static olmayan değer çağrılmaz 
 }

public static void main(String[] args) {
        new SayacArtir();
        new SayacArtir();
new SayacArtir();
                
//method1(); //static olan metod içinden static olmayan metod çağrılmaz
SayacArtir sayacArtir= new SayacArtir();
        sayacArtir.method1();//ancak böyle tanımlayıp çağırırız
        method2(); //fakat static metodu nesne oluşturmadan direkt çağırabiliriz
        System.out.println("Main içinde Count Değeri:" + count); 
        //System.err.println(""+sayac); static olmadığından error verir
        System.out.println("Main içinde Sayac Değeri:"+sayacArtir.sayac);
}
}

ÇIKTI:
metod1 içinde count Değeri:4
metod1 içinde sayac Değeri:1
Metod2 içinde count Değeri:4
Main içinde Count Değeri:4
Main içinde Sayac Değeri:1

       Burada önemli bir konu daha vardı o da static metodların override edilmemesiydi.Bunu yukarıda da belirmiştik ama şimdi bunu kod ile incelersek daha iyi ifade etmiş oluruz kendimizi ve böylece konuyu noktalamış oluyoruz. Not: Aşağıdaki kod scjp kitabından alıntıdır.

class Animal {
  static void doStuff() {
    System.out.print("a ");
  }
}
class Dog extends Animal {
  static void doStuff() {
    System.out.print("d ");  //burada override olmamıştır.
    //eğer metod static olmasaydı çıktığımız a d olacaktı
  }
  public static void main(String [] args) {
    Animal [] a = {new Animal(), new Dog()};
    for(int x = 0; x < a.length; x++)
      a[x].doStuff();          
  }
}
ÇIKTI
a a