06 Declare Class Members – 03

Merhaba Arkadaslar,
Bu dersimizde Java’da , variable (degisken) konusunu isleyecegiz.

Javada 2 tip degisken vardir.

primitive
reference variable (referans degiskeni)

primitive Degiskenler  (primitive variables)
primitive degiskenler su 8 tipden biri olabilir ;
char, boolean, byte , short , int , long , double , float
primitive bir degisken tanimlandiginda turu degistirilemez yani int a ,bir alt satirda short a olarak degismez. Java ciddi bir dildir bu tarz kontrollere onem verir

primitive degiskenler su durumlarda tanimlanabilir ,

  • bir class variable (yani static degisken)
  • instance variable (objeye ait degisken)
  • method parametresi

Burada bir dip not vermek istiyorum bir cok insan bu kavrami karistirmakta veya ayni sanmaktadir.
metot tanimlamasinda kullanilan degiskenler parametredir, methodu cagirirken gonderilen degiskenler ise argumandir .

Bu 8 primitive degiskenden 6 tanesi ( char ve boolean haric ) signed (isaretli) yani negatif ve pozitif degerler alabilir.

Continue reading 06 Declare Class Members – 03

05 Declare Class Members – 02

Bu dersimizdee Class Member (instance variable, methods) icin kullanabilecek nonaccess member modifier konusunu isleyecegiz.

final Methods

final anahtar kelimesi metotlar icin kullanildiginda , alt sinif tarafindan bu metodun ezilmesini (override) engeller.

A.java

package purejava5;

public class A {

	void method1() {

	}

	final void method2() {

	}

}


Continue reading 05 Declare Class Members – 02

Java Serialization (Serileştirme) Nedir?

serialization

 

 

 

 

 

 

 

Java tamamen nesne yönelimli bir programlama dili olduğu için, Java üzerinde uygulama geliştirirken nesneleri sıkça kullanıyoruz. Java platformunda bilindiği gibi, int, double, byte gibi primitive tipler dışındaki herşey nesnedir.

Ancak Java’da kullanılan nesneler, Java platformunda (JVM) hayat bulurlar. Platform dışında nesnelerin, hiçbir anlamı yoktur. Nesne yönelimli programlama paradigmasını destekleyen Java’da, tasarlanan nesnelerin tekrar kullanılabilmesi (reuse) önemli bir konu olduğuna göre, bu nesneleri Java platformu dışında da hayata geçirmek gerçekten önemlidir. Bahsedilen bu problem, Java Serialization API sayesinde çok kolay bir şekilde aşılabiliyor.

Konuya bir de şu yönden bakarsak, herhangi bir nesne içerisindeki fieldları bir dosyaya yazdırdığımızda, bu verilerin sadece değerlerini (values) dosya içerisinde depolarız. Halbuki bu verilerin sınıf tanımlaması içerisindeki tipleri de en az değerleri kadar önemlidir. Herhangi bir nesnenin fieldındaki değer 3 ise, bu değerin string mi int mi olduğunun dosya üzerinde bir anlamı yoktur.

Java Serialization API sayesinde bir nesnenin birebir kopyasını, Java platformu dışında da depolayabiliriz. Bu mekanizma ile daha sonra,  nesneyi depolanan yerden çekip, aynı durum (state) ve özellikleri ile kullanmaya devam edebiliriz. Tüm bu sisteme, Object Serialization (Nesne Serileştirme) adı verilir.

Continue reading Java Serialization (Serileştirme) Nedir?

04 Declare Class Members – 01

Merhaba Arkadaslar
Bu yazimda Java’da Class Members (methods , instance (non-local) variable) tanimlanmasi hakkında bilgi vereceğim.

Access Modifiers

Methodlar ve instance variable’lara 3 access modifier da uygulanir.
public
private
protected
ve tabi ki bunlardan biri kullanilmazsa varsayilan olarak package level (default) uygulanir.

Bunlardan default ve protected birbiriyle neredeyse aynidir. Ilerleyen kisimlarda farkından bahsedecegim.

public uyeler

Halka acik public metotlara ve değişkenlere tum siniflardan erişim mumkundur. Tabiki ulasacagimiz metodun veya değişkenin sinifina ait bir referans değişkenimiz araciligiyla ulaşabiliriz.
ikinci olarak siniflar farkli paketlerde ise mutlaka ulasilan sinifi import etmek gerekir. Dolayisiyla Java ayni paket altinda ayni isimde iki sinif tanimlanmasina izin vermez.

Continue reading 04 Declare Class Members – 01

03 Interface Declaration

Merhaba Arkadaslar,
Bu dersimiz, Java ‘da Interface (arabirim) tanimlanmasi ile ilgili olacaktir.

Bir interface (arabirim) tanimladigimizda , metotlar govdesiz olarak tanimlanir. yani { } icermezler. Interface bir sablon, kontrattir yani bir interface i uygulayan sinif bu metotlari mutlaka uygulamak, (override) zorundadir.

abstract bir sinif , bir interface i uygulayabilir ve metotlarini uygulamak zorunda degildir, abstract olmayan bir sinif mutlaka metotlari uygulamak ,(override) , zorundadir.

Interface (arabirim) , herhangi bir sinif tarafindan uygulanabilir (implements) . Bu sayede kalitim hiyerarsisinde birbiriyle tamamen iliskisi olmayan siniflar dahi ayni arabirimi uygulayabilir. Bu Interface yapisinin en onemli ozelligidir.

Continue reading 03 Interface Declaration

02 Class Declaration and Access Modifier

Kaynak Dosya Tanimlamasi

  • Javada , her kaynak dosya icin yalnizca bir adet public sinif tanimlanabilir.
  • public tanimlanan sinif , dosya ismiyle mutlaka ayni olmak zorundadir. Ornegin ,
    public class Employee tanimlanmissa kaynak dosyasi mutlaka Employee.java olmalidir.
  • package tanimlamasi mutlaka en basta yer almalidir.
  • import tanimlamasi package tanimlamasi ile class tanimlamasi arasinda yer almalidir.
  • import ve package tanimlamasi , bir kaynak dosyada tum sinif tanimlamalari icin gecerlidir.
  • Bir kaynak dosya tabi ki birden fazla public olmayan sinif tanimlamasi icerebilir.

Continue reading 02 Class Declaration and Access Modifier

01 Legal Identifiers ve Naming Standards

Class

Class yani sinif bir sablondur, peki neyin sablonudur bu ? Class, bir object ‘ in yani objenin sablonudur, peki ne is yapar bir class ? Objenin durum [state] ve davranislarini [behaviors(methods)]  larini tanimlamamizi saglar.

Object

Calisma zamaninda Java Virtual Machine (JVM) , new anahtar kelimesi ile karsilastiginda, ilgili class tan bir instance olusturur (instance of a class) Bu objenin kendi durum[state]  ve davranislari [behaviors(methods)vardir.

Legal Identifiers (Belirleyici)

Class, degisken (variable) , metot ve diger Java ogelerinin birer isme ihtiyaci vardir. Bu isimlere Javada Identifier denir. Java’da bir seylere isim verirken , ciddi anlamda problem yasayabiliriz, Java bu konuda son derece hassastir

  • Belirleyiciler (identifier), harf , $ (currecy character) veya alt_cizgi  _  (underscore) ile baslayabilir.
  • Ilk karakterden sonra harf , $ ve alt cizgiye ek olarak tabi ki rakam da kullanabiliriz.
  • Belirleyicilerin uzunluk acisindan bir siniri yoktur.
  • Java’nin anahtar kelimelerini (keyword) ,  belirleyicilere verilemez.
  • Belirleyiciler buyuk-kucuk harfe duyarlidir (case sensitive). Yani sayi ve Sayi farkli iki belirleyicidir.

Continue reading 01 Legal Identifiers ve Naming Standards

Java’ya Giriş

Java_620X0

Java’nın Kısa Tarihi

  •  1991 yılında Sun, kapalı kapılar ardında ve Patrick Naughton, Mike Sheridan, and James Gosling önderliğindeki küçük bir takımla bir proje başlattı.
  • 13 kişiden oluşan ve “Green Team” (Yeşil Takım) adı verilen bu grubun amacı ITC dünyasında geleceği tahmin edip onagöre ARGE yapmaktı.
  • Ve bu takım da geleceğin, kişisel ve ev elektronik cihazlarında olduğunu öngörüp bu alana yöneldi.
  •  Ve 23 Mayıs 1995’te Java resmi olarak piyasaya sunuldu
  •  2010 yılında Oracle’ın Sun’ı satın almasıyla Java da eldeğiştirmiş oldu

 Java Nedir?

  • Sun 1995’te Java’yı sunarken yayınladığı bir yazıda Java’yı şöyle tanıtıyordu:
  • Java: Basit, nesne-merkezli, ağlarda yetenekli, yorumlanan,sağlam, güvenli, mimari olarak tarafsız, taşınabilir, yüksekperformanslı/başarımlı, çok kanallı, dinamik bir dil.
  • Java: A simple, object-oriented, network-savvy, interpreted,robust, secure, architecture neutral, portable, high-performance, multithreaded, dynamic language

 Java Nesne Merkezlidir 

  • Java’da basit veri tipleri hariç herşey, bütün tipler, bir nesnedir
  • Çok güçlü kapsülleme (encapsulation) ve bilgi saklama (information hiding) ayırımı vardır
  •  Arayüz (interface) ile gerçekleştirme (implementation)arasında çok açık bir ayrım vardır

Continue reading Java’ya Giriş