types classes java
Bu eğitici, Java'da Özet, Somut, Son, İç, POJO, Statik ve diğer özel sınıflar gibi çeşitli Sınıf Türlerini örneklerle tartışacaktır:
Önceki eğitimimizde, Java'daki sınıfları ve nesneleri tartıştık. Java'da bir sınıf, bir şablon veya plandır. Aynı zamanda benzer nesnelerin bir koleksiyonu olarak da tanımlanabilir. Tip sınıfı nesneleri tanımlıyoruz ve sonra bu nesneler aracılığıyla iletişim kuruyoruz.
Her nesne, bir durumu ve davranışı olan bir sınıfın örneğidir.
=> Özel Java Eğitimi Eğitim Dizisi İçin Burayı Ziyaret Edin.
Ne öğreneceksin:
Java'da Sınıf Türleri - Giriş
Hepimiz sınıfın aşağıdaki bileşenlere sahip olduğunu biliyoruz:
- Değiştiriciler: Sınıf için erişimi belirtin.
- Sınıf adı: Sınıfın adı.
- Anahtar Kelimeler: Bir sınıfın sınıfı veya arabirimi genişletip genişletmediğini veya uygulayıp uygulamadığını gösteren anahtar sözcükler.
- Küme parantezleri {} içine alınmış Gövde sınıfı
Kullanılan farklı değiştiricilere, belirtilen sınıf gövdesine ve kullanılan anahtar kelimelere bağlı olarak, Java'da çeşitli sınıf türlerine sahibiz.
Windows'ta bir dat dosyasını nasıl açarsınız
- Beton sınıfı: Yöntemlerin somut uygulamasına sahip normal bir sınıf.
- POJO sınıfı: Bu, yalnızca özel üye değişkenlerini ve bu değişkenlere erişmek için alıcı belirleyici yöntemlerini içeren 'Düz Eski Java Nesnesi' dir.
- Soyut sınıf: Bu sınıfın bir veya daha fazla soyut yöntemi vardır.
- Son sınıf: Son bir sınıf miras alınamaz.
- Statik sınıf: Yalnızca statik üyeler içeren bir sınıf.
- İç sınıf: İç sınıf, başka bir sınıfın üyesi olan bir sınıftır.
Bu eğitimde, bu sınıf türlerinin her birini örneklerle tartışacağız.
Java'da özel sınıflar olarak kabul edilen diğer bazı sınıf türlerini de tartışacağız.
- Anonim sınıf: İsimsiz bir sınıf.
- Değişmez sınıf: Nesnesi değiştirilemeyen bir sınıf.
- Singleton sınıfı: Tek örneği oluşturulabilen bir sınıf.
- Object sınıfı: Tüm Java özelliklerinin temel sınıfı.
- Wrapper sınıfı: Java'daki her ilkel veri türünün bir sarmalayıcı sınıfı vardır.
Ama önce, Java'da ana yöntemi veya başlangıç noktasını içeren Java'daki Main sınıfıyla birlikte Java'da bir sınıfın nasıl içe aktarılacağını kısaca tartışalım.
Java'da İçe Aktar
Java'da, programımıza herhangi bir özellik veya işlevsellik eklemek istiyorsak, o zaman 'import' ifadesini kullanabiliriz. İmport deyimini kullanarak tüm paketi içe aktarabilir ve işlevselliğini programımızda kullanabiliriz veya tek bir sınıf da dahil edebiliriz.
Aşağıda, import ifadesinin sözdizimi verilmiştir.
import packageName/classname;
Java.lang paketini ve tüm sınıflarını içe aktarmak istiyorsak şu ifadeyi yazabiliriz:
import java.lang.*;
Arrays sınıfının işlevselliğini programımıza dahil etmek istediğimizi varsayalım, o zaman aşağıdaki ifadeyi yazabiliriz:
import java.util.Arrays;
İmport deyimi C / C ++ include deyimine eşdeğerdir. İmport ifadesi, Java programının başlangıcına ilk ifade olarak yerleştirilir. Java programında birden fazla ifadeye sahip olabiliriz.
Java'da Ana Sınıf
Java'da main () yönteminin herhangi bir program yürütmesinin başlangıç noktası olduğunun ve söz konusu uygulamanın herhangi bir sınıfına yerleştirilebileceğinin zaten farkındayız. Ancak, çok fazla dosya ve sınıf içeren karmaşık bir uygulamamız varsa, bir Main sınıfına sahip olmak ve main () yöntemini bu Main sınıfa yerleştirmek tavsiye edilir.
class Main{ public static void main(String() args){ System.out.println(“Hello, World!”); } }
JVM'nin Main sınıfında bir nesne yaratmadığına dikkat edin. Bunun arkasındaki mantık, main () statik bir yöntem olduğundan, herhangi bir sınıf nesnesi olmadan çağrılabilmesidir.
Java'da Sınıf Türleri
Şimdi Java'daki sınıf türlerine geçelim. Bu sınıfların her birini tek tek ve ardından programlama örneklerini açıklayacağız.
# 1) Beton Sınıfı
Somut bir sınıf, bir Java programındaki herhangi bir normal sınıftır. Bu sınıfın herhangi bir soyut yöntemi olmayacaktır. Beton sınıfındaki tüm yöntemler tamamen uygulanmaktadır.
Somut bir sınıf, başka bir sınıftan, hatta soyut bir sınıftan miras alabilir veya bir arayüz uygulayabilir. Somut sınıfı somutlaştırabilir ve nesnelerini yaratabiliriz.
Somut bir sınıfın basit bir örneği aşağıda gösterilmiştir.
public class Main { // Concrete Class example static int total(int val1, int val2) { return val1 + val2; } public static void main(String args()) { int sum = total(100, 108); System.out.println('Total of two integers: ' + sum); } }
Çıktı
Yukarıdaki program somut bir sınıfı göstermektedir. Bu sınıfın tam bir uygulaması olduğunu görüyoruz. Eksik veya uygulanmamış hiçbir şey kalmadı.
# 2) POJO Sınıfı
POJO (Düz Eski Java Nesnesi), yalnızca özel üye değişkenleri içeren bir sınıftır. Özel üye değişkenlerinden ayrı olarak, yalnızca bu üye değişkenleri tarafından kullanılan alıcı ve ayarlayıcı yöntemlerini içerir.
POJO sınıfının kendi davranışı yoktur. Ancak, eşitler veya arabirimler gibi bazı yöntemleri geçersiz kılabilir.
POJO sınıfının özellikleri:
- POJO sınıfı bir genel alıcı ve ayarlayıcı yöntemine sahip olmalıdır.
- Tüm üyeler veya örnek değişkenleri özel olmalıdır.
- POJO sınıfı, önceden belirlenmiş sınıfları veya arabirimleri genişletmez veya uygulamaz.
- Önceden belirlenmiş ek açıklamalar içermezler.
- Herhangi bir argümansız (argümansız yapıcı) bir yapıcı içermez.
Aşağıda, POJO sınıfını gösteren bir Java Programı verilmiştir.
//declare a POJO class class POJO_Class { private int daysOfWeek=7; //private variable public int getdaysOfWeek() { //getter return daysOfWeek; } public void setdaysOfWeek(int dow) { //setter this.daysOfWeek = dow; } } public class Main { public static void main(String args()){ POJO_Class pojoDemo = new POJO_Class(); //instance of POJO class System.out.println('Days of the week:' + pojoDemo.getdaysOfWeek()); } }
Çıktı
POJO sınıfının yukarıdaki gösterimi, özel bir değişkene ve bu değişken için alıcı ayarlayıcı yöntemlerine sahip olduğunu gösterir. Bu üye değişkenine erişmek için getter yöntemini kullanıyoruz. Ayarlayıcı yöntemi, değeri güncellemek için kullanılır.
# 3) Soyut Sınıf
Soyut bir sınıf, tamamlanmamış veya uygulaması tamamlanmayan bir sınıftır. Soyut bir sınıf somutlaştırılamaz. Somut bir sınıf oluşturmak için diğer sınıflar tarafından genişletilmesi ve yöntemlerini uygulaması gerekir.
Soyut bir sınıf, 'soyut' anahtar kelimesi kullanılarak bildirilir. Soyut bir sınıf, yapıcıların yanı sıra statik ve son yöntemlere de sahip olabilir.
Java'da soyut bir sınıf gösterelim.
interface multiply //interface multiply { int product(int num1, int num2); } // abstract class abstract class Product implements multiply { // this is an abstract method to calculate product of two numbers public abstract int product(int num1, int num2); } // Concrete class :this will implement the abstract method above class Main extends Product { public int product(int num1, int num2) { return num1*num2; } // main method public static void main(String args()) { Main obj = new Main(); int prod = obj.product(100, 20); // print product System.out.println('Product of two numbers: ' + prod); } }
Çıktı
Yukarıdaki programda, bir arayüz çarpma işlemimiz var. Çoğaltma arayüzünü uygulayan soyut bir sınıf Product yaratıyoruz. Ürünün içinde uygulanmayan bir yöntem ürünümüz var. Ardından, Product sınıfını miras alan ve product yöntemini uygulayan bir Main sınıfımız var. Daha sonra, bu yöntemi Main sınıf nesnesi üzerinde çağırıyoruz.
# 4) Statik Sınıf
Java'da statik, genel olarak tek tek örneklere değil, bir sınıfa ait olan nesne anlamına gelir. Dolayısıyla, Java'daki statik bir üye veya yönteme bir nesneyle değil, doğrudan bir sınıf adı kullanılarak erişilmesi gerekir.
Java'daki statik bir sınıf yalnızca statik üyeler içerebilir. Ayrıca, statik bir sınıfı başlatamayız.
Aşağıdaki Java programı statik bir sınıfı göstermektedir.
class Static_Class { static int total; // static variable static void sum(int val1, int val2) { // static method System.out.print('Static method to calculate sum:' + ' '); total = val1 + val2; System.out.println(val1 + '+' + val2); // print the numbers } static class Nested_Class { // static class static { // static block System.out.println('static block inside a static nested class'); } public void displaySum() { sum(25, 75); // call static method // print the value in static variable total, it holds the sum of two numbers System.out.println('Sum of two numbers:' + total); } } } public class Main { public static void main(String args()) { // declare static class object Static_Class.Nested_Class object = new Static_Class.Nested_Class(); object.displaySum(); // call displaySum method inside a static class } }
Çıktı
Yukarıdaki sınıf statik sınıfı gösterir. Burada başka bir somut sınıfın üyesi olan statik bir sınıfımız var. Statik sınıfın içinde, iki sayının toplamını hesaplıyoruz ve sonucu dış sınıfın bir üyesi olan statik bir değişkende saklıyoruz.
# 5) Final Sınıfı
Son sınıf, miras alınamayan veya alt sınıflara alınamayan bir sınıftır. Java'da bir sınıf son olarak ilan edildiğinde, bir tür sabittir ve değişmez hale gelir.
Windows 10 için ücretsiz video dönüştürücü yazılımı
Dolayısıyla bir sınıfı değişmez kılmak için onu nihai olarak ilan etmeliyiz.
//final class final class Base_Class { void Display() { System.out.println('Base_Class::Display()'); } } //class Derived_Class extends Base_Class { //Compile-time error - can't inherit final class class Derived_Class{ void Display() { System.out.println('Derived_Class::Display()'); } } public class Main { public static void main(String() arg) { Base_Class base_obj = new Base_Class(); //create a final class object base_obj.Display(); Derived_Class deri_obj = new Derived_Class(); deri_obj.Display(); } }
Çıktı
Yukarıdaki program ilk olarak 'final' olarak işaretlenmiş bir Base_Class bildirir. Dolayısıyla onu Derived_Class içinde genişletmeye çalıştığımızda, bir derleyici hatası alıyoruz. (Yorumlanan satır). Ancak nesnesini oluşturabilir ve Display yöntemini çağırabiliriz.
# 6) Yuvalanmış Sınıf / İç Sınıf
Java'da Inner sınıfı olarak da bilinen iç içe sınıf, kapsüllemeyi geliştirmek için kullanılır. Yuvalanmış bir sınıf / İç sınıf, başka bir sınıfın içinde yer alan bir sınıftır.
Tıpkı bir sınıfın üyeleri olarak değişkenlere ve yöntemlere sahip olması gibi, üyesi olarak bir iç sınıfa da sahip olabilir.
İç içe geçmiş bir sınıf aşağıdaki yapıya sahiptir:
class OuterClass{ class NestedClass{ //nested class code… } //outerclass code… }
İç sınıflar aşağıdaki alt türlere sahiptir:
- İç içe geçmiş İç sınıf
- Yöntem Yerel İç sınıf
- Anonim İç sınıf
- Statik İç içe geçmiş sınıf
# 1) Yuvalanmış İç Sınıf
İç içe geçmiş bir iç sınıf, bir dış sınıfın özel üye değişkenlerine erişime sahiptir. İç içe geçmiş iç sınıfa erişim değiştiricileri de uygulayabiliriz.
# 2) Yöntem Yerel İç Sınıf
Bu, bir dış sınıf yöntemi içinde bildirilen iç sınıftır.
# 3) Anonim İç Sınıf
Anonim iç sınıf, bir dış sınıf içinde bildirilen bir iç sınıftır ve herhangi bir isimsizdir.
# 4) Statik Yuvalanmış Sınıf
Bir sınıfın statik üye değişkenine sahip olma şekli, üyesi olarak statik bir sınıfa da sahip olabilir.
İç içe / İç sınıfın bir örneği aşağıda verilmiştir:
public class Main { //nested/inner class enclosed inside Main class. class InnerClass { public void inner_print() { System.out.println('Inner class'); } } public static void main(String() args) { System.out.println('Main in Outer class'); } }
Çıktı
Java'daki Diğer Özel Sınıflar
Java'da Değişmez Sınıf
Değişmez bir sınıf, değişmez nesneler üretir. Değişmez nesne, nesne oluşturulduktan sonra içeriği değiştirilemeyen bir nesnedir. Yani değişmez bir sınıf, nesnesi bir kez yaratıldıktan sonra değiştirilemeyen sınıftır.
İlkel türler (Tamsayı, Boolean, Bayt, vb.) İçin Java'daki tüm sarmalayıcı sınıfları değişmezdir. String sınıfı da değişmezdir.
Java'da kullanıcı tanımlı değişmez sınıflara da sahip olabiliriz.
Bir sınıfın değişmez olması için, tüm veri üyeleriyle birlikte nihai olarak ilan edilmesi gerekir. Ayrıca, sınıfın parametreli bir kurucuya sahip olması gerekir. Tüm üye değişkenlerin bir alıcı yöntemi olmalı, ancak ayarlayıcı yöntemi olmamalıdır.
Bir sınıfın değişmez olması için yukarıdaki tüm gerekliliklerin karşılanması gerekir.
Değişmez sınıfı göstermek için bir Java programı uygulayalım.
final class City { final String city_name; final int cityId; //parameterised constructor public City(String name, int id) { this.city_name = name; this.cityId = id; } //getters for member variables public String getcityName() { return city_name; } public int getcityId() { return cityId; } } // Driver class class Main { public static void main(String args()) { City city = new City('New York', 1001); System.out.print('City Id:' + city.getcityId() + ' '); System.out.println('City Name:' + city.getcityName()); //city.cityId = 1002; //cannot assign a value to final variable regNo } }
Çıktı
Yukarıdaki programda bir Şehir sınıfı ilan ettik. Bu son bir sınıftır ve bu sınıfta, iki üye değişken ve parametreli bir kurucu bildirdik. Ayrıca bu iki üye değişken için getter yöntemlerini de tanımladık. Dolayısıyla City sınıfı, değişmez bir sınıfın tüm gereksinimlerini karşılar.
Ana yöntemde açıklamalı kod satırına dikkat edin. Bu satırın açıklamasını kaldırırsak, bir üye değişkeni için değer belirlemeye çalışırken bir derleyici hatası (buradaki yorumda verilmiştir) alacağız.
Java'da Singleton Sınıfı
Bir singleton sınıfı, bir seferde tek bir örneğe izin verir. Java'da, tekil bir tasarım modelidir. Bu tasarım deseni, herhangi bir zamanda bir sınıfın yalnızca bir örneğinin var olmasını sağlar. Yani tekil olarak tanımlanan herhangi bir sınıfın tek bir erişim noktası vardır ve bu küreseldir.
Uygulama yaşam döngüsünün sonlandırılmasının, normal sınıflar gibi tek bir sınıfı yok etmediğini unutmayın. Bir sınıf tekil olarak bildirildiğinde, nesne için her yeni istek yapıldığında yeni bir örnek oluşturmayız.
Aynı örnek tekrar tekrar kullanılır. Bu şekilde bellek alanından daha çok çok iş parçacıklı ve veritabanı uygulamalarında tasarruf edebiliriz.
Önbelleğe alma, günlüğe kaydetme vb. Etkinlikler için bir singleton sınıfı kullanabiliriz.
Aşağıdaki program bir Singleton sınıfını göstermektedir.
class Singleton { // static variable of type Singleton private static Singleton single_instance = null; // String variable public String str; // private constructor : restricted to this class private Singleton() { str = 'Singleton class::private constructor'; } // create instance of Singleton class using getInstance static method public static Singleton getInstance() { if (single_instance == null) single_instance = new Singleton(); return single_instance; } } class Main { public static void main(String args()) { // instantiate Singleton class with obj1 Singleton obj1 = Singleton.getInstance(); // instantiate Singleton class with obj2 Singleton obj2 = Singleton.getInstance(); System.out.println('obj1(str):' + obj1.str); System.out.println('obj2(str):' + obj2.str); // change variable of instance obj1 obj1.str = (obj1.str).toUpperCase(); System.out.println('
After changing obj1(str):'); System.out.println('obj1(str):' + obj1.str); System.out.println('obj2(str):' + obj2.str); } }
Çıktı
Yukarıdaki programda, özel kuruculu bir tekil sınıf tanımladık. String türünde bir üye değişkeni tanımladık. Ana yöntemde, singleton sınıfının iki örneğini bildiriyoruz. Ardından örneklerden birini kullanarak String değişkenini değiştiririz.
Her iki örnek için String değerini yazdırdığımızda, String değişken değerinin her iki örnek için de değiştiğini fark ederiz. Dolayısıyla, değeri yalnızca bir örnek için değiştirsek bile, singleton sınıfı nedeniyle değişiklikler tüm örneklere yansıtılır.
Farklı örnekler oluşturuyor gibi görünsek bile her zaman aynı örneği döndürürüz.
Java'da Nesne Sınıfı
Object sınıfı, Java'daki ana sınıf veya birinci sınıftır. Java hiyerarşisinin en üst düzeyindedir.
Tüm sınıflar bir üst sınıf olarak Object sınıfına sahip olduğundan, Arrays dahil tüm Java nesneleri Object sınıfı yöntemlerini uygular. Nesne sınıfı, 'java.lang' paketinde mevcuttur.
Java.lang.Object için bildirim:
public class Nesne
Aşağıdaki tablo Object sınıfının yapıcılarını ve yöntemlerini açıklamaktadır.
Yapıcı / Yöntem | Açıklama |
---|---|
Sınıf getClass () | Nesnenin çalışma zamanı sınıfını döndürür. |
Nesne sınıfı yapıcısı | |
Nesne() | Nesne sınıfı yapıcısı |
Nesne sınıfı yöntemleri | |
korumalı Nesne klonu () | Nesnenin bir kopyasını veya kopyasını döndürür. |
boolean şuna eşittir (Object obj) | Belirli bir nesnenin bu nesneye eşit olup olmadığını kontrol eder. |
korumalı boşluk sonlandırması () | Nesneye yapılan tüm başvurular yok edildiğinde çöp toplayıcı tarafından çağrılır. |
int hashCode () | Nesne için hash kodunu döndürür. |
geçersiz bildir () | Tek bir bekleyen iş parçacığını uyandırmak için kullanın. |
void notifyAll () | Tüm bekleyen konuları uyandırır. |
String toString () | Nesnenin String eşdeğerini döndürür. |
geçersiz bekleme () | Bir iş parçacığı, başka bir iş parçacığı tarafından bildirim yöntemi ile uyandırılıncaya kadar beklemesini sağlar. |
geçersiz bekleme (uzun zaman aşımı) | İş parçacığı, 'zaman aşımı' tarafından verilen süre geçene kadar veya notify veya notifyAll yöntemleriyle uyandırılana kadar beklemesini sağlar. |
void wait (uzun zaman aşımı, int nanolar) | İş parçacığının, belirtilen süre geçene kadar veya başka bir iş parçacığı tarafından notify () veya notifyAll () çağrılana kadar beklemesine neden olur. |
Bazı Object sınıfı yöntemlerini gösterecek örnek bir Java programı uygulayalım.
xml dosyası chrome'da nasıl açılır
public class Main { public static void main(String() args) { Main t = new Main(); System.out.println('Main class Object HashCode:' + t.hashCode()); t = null; // call garbage collector System.gc(); System.out.println('Main class:End'); } @Override protected void finalize() { System.out.println('Main Class::finalize method called.'); } }
Çıktı
Burada bir Ana sınıfımız var. Ana yöntemde (), Main sınıfının bir nesnesini oluşturuyoruz. Bu nesne, Object sınıfının bir neslidir ve tüm Object sınıfı yöntemlerini destekler. Bu nedenle, bu nesneyi kullanıyoruz ve hashCode (), System.GC (), finalize () vb. Gibi birkaç Object sınıfı yöntemini çağırıyoruz.
Java'da Sarmalayıcı Sınıfı
Java, ilkel veri türünü nesneye veya tam tersi şekilde dönüştüren bir mekanizmaya sahip olan sarmalayıcı sınıfı adı verilen bir özellik sağlar. Sarmalayıcı sınıflar, nesneler olarak int, char, vb. Gibi ilkel türleri temsil eden sınıflardır.
Dolayısıyla, Java'daki her ilkel veri türünün karşılık gelen sarmalayıcı sınıfı vardır.
Aşağıdaki tablo, ilkel veri türlerini ve bunların eşdeğer sarmalayıcı sınıfını gösterir.
İlkel tip | Sarıcı tipi |
---|---|
yüzen | Yüzer |
Boole | Boole |
kömür | Karakter |
bayt | Bayt |
kısa | Kısa |
int | Tamsayı |
uzun | Uzun |
çift | Çift |
İlkelleri nesnelere ve nesneleri ilkellere dönüştürmek için sırasıyla 'otomatik kutulama' ve 'kutulama' adı verilen tekniklerimiz var. Ase Java, Nesne odaklı bir programlama dilidir, her zaman nesnelerle ilgileniriz ve ayrıca Koleksiyonlar gibi birçok özelliğimiz vardır. Serileştirme vb. nesnelere ve ilkel türlere de ihtiyaç duyar.
Bu yüzden Java'da nesnelere ve ilkel türlere her zaman ihtiyacımız var ve bu nedenle bu otomatik kutulama ve kutudan çıkarma tekniklerine ihtiyacımız var.
Otomatik kutulama
Otomatik kutu oluşturma, ilkel bir veri türünü otomatik olarak karşılık gelen sarmalayıcı sınıfının bir nesnesine dönüştürme tekniğidir. Örneğin int'in Tamsayı sınıfına dönüştürülmesi, karakterin Karakter sınıfına dönüştürülmesi, vb. otomatik kutulama örnekleridir.
Not: Sarmalayıcı sınıflar, ilkel olanı Java 5'ten beri amortismana tabi olan nesnelere dönüştürmek için valueOf () yöntemini kullanır.
Kutudan çıkarma
Sarmalayıcı sınıf nesnelerinin karşılık gelen ilkel veri türlerine ters çevrilmesine 'kutudan çıkarma' adı verilir.
Not: Java 5'ten beri, sarmalayıcı nesneyi ilkel bir türe dönüştüren intValue () yöntemi amortismana tabi tutulmuştur.
Aşağıda verilen bir boks / kutudan çıkarma örneğidir.
public class Main { public static void main(String args()){ //Convert int to Integer : boxing int num=20; Integer int_class= Integer.valueOf(num);//explicit conversion from int to Integer Integer inum=num;//autoboxing System.out.println('int => Integer: ' + num+' => '+inum); //Convert Integer to int: unboxing Integer val=new Integer (3); int ival=val.intValue();//explicit conversion from Integer to int int jval=val;//unboxing System.out.println('Integer => int:' + val+' => '+jval); } }
Çıktı
Yukarıdaki program, int değerinde otomatik kutulama ve kutudan çıkarmayı gösterir. İlk olarak, int'i Integer nesnesine dönüştürüyoruz ve ardından bir Integer nesnesi int veri türüne dönüştürülüyor.
Java'da bulunan sarmalayıcı sınıflarını gösteren bir program uygulayalım.
public class Main { public static void main(String args()) { byte bbyte=10; short sshort=20; int iint=300; long llong=400; float ffloat=3.14F; double ddouble=77.2D; char cchar='A'; boolean bboolean=true; //Convert primitives into objects => Autoboxing Byte byteobj=bbyte; Short shortobj=sshort; Integer intobj=iint; Long longobj=llong; Float floatobj=ffloat; Double doubleobj=ddouble; Character charobj=cchar; Boolean boolobj=bboolean; //Print converted objects System.out.println('Primitives converted to Objects:'); System.out.println('Byte object: '+byteobj); System.out.println('Short object: '+shortobj); System.out.println('Integer object: '+intobj); System.out.println('Long object: '+longobj); System.out.println('Float object: '+floatobj); System.out.println('Double object: '+doubleobj); System.out.println('Character object: '+charobj); System.out.println('Boolean object: '+boolobj); //Convert Objects to Primitives => Unboxing byte bytevalue=byteobj; short shortvalue=shortobj; int intvalue=intobj; long longvalue=longobj; float floatvalue=floatobj; double doublevalue=doubleobj; char charvalue=charobj; boolean boolvalue=boolobj; //Print primitives System.out.println('Converting Objects to Primitives'); System.out.println('byte value: '+bytevalue); System.out.println('short value: '+shortvalue); System.out.println('int value: '+intvalue); System.out.println('long value: '+longvalue); System.out.println('float value: '+floatvalue); System.out.println('double value: '+doublevalue); System.out.println('char value: '+charvalue); System.out.println('boolean value: '+boolvalue); } }
Çıktı
Yukarıdaki program çıktısı, ilkel türlerden sarmalayıcı nesnelere dönüşümü (Otomatik Kutulama) gösterir ve sarmalayıcı nesnelerden ilkel türlere dönüşümü tersine çevirir (kutudan çıkarma).
Sıkça Sorulan Sorular
S # 1) Java'daki Sınıf Verisi türü nedir?
Cevap: Java, çalışan uygulamanın tüm sınıfları, nesneleri ve arabirimleri hakkında bilgi içeren 'Sınıf' adlı bir sınıf sağlar. Class sınıfı ayrıca ilkel veri türlerini ve void türünü de temsil eder.
Class sınıfı, java.lang paketinin bir parçasıdır.
S # 2) Java'daki Normal Sınıf nedir?
Cevap: Java'daki normal bir sınıf, statik olmayan bir sınıftır. New anahtar sözcüğünü kullanarak normal bir sınıfın nesnelerini oluşturabiliriz. Ayrıca, herhangi bir normal sınıf, üyesi olarak başka bir sınıfa sahip olabilir. Bu durumda, üye sınıfa iç içe veya iç sınıf ve çevreleyen sınıfa dış sınıf adı verilir.
S # 3) String, Java'da bir Wrapper Sınıfı mı?
Cevap: Hayır, String, Java'da bir sarmalayıcı sınıfı değildir. Bir sınıfın sarmalayıcı sınıf olması için, ona karşılık gelen ilkel türüne ihtiyacımız var. Örneğin, Tamsayı sarmalayıcı sınıfı için ilkel türde int var. String sınıfı için, karşılık gelen bir ilkel veri türüne sahip değiliz.
S # 4) Sarmalayıcı Sınıfının faydası nedir?
Cevap: Sarmalayıcı sınıflar, ilkel veri türlerinin nesnelere dönüştürülmesi için kullanılır. Diğer bir deyişle, sarmalayıcı sınıfları ilkel türleri nesnelere sarar. Sarmalayıcı sınıflar, Koleksiyonlar gibi belirli Java özellikleri yalnızca nesneler beklediğinde ve ilkel veri türleri beklemediğinde kullanılır.
S # 5) Java'da neden Singleton Sınıfı kullanılıyor?
Cevap: Belirli bir nesne için global bir erişim noktası istediğimizde, içinde yalnızca bir örneğin olacağı bir tekli sınıf tasarlamamıza izin veren tekli bir modele gidiyoruz. Singleton sınıfları önbelleklerde, iş parçacığı havuzunda, veritabanı uygulamalarında, günlüğe kaydetmede vb. Kullanılır.
Sonuç
Bu eğitimde, Java'da kullanılan çeşitli sınıf türlerini ele aldık. Somut, soyut, son, statik, İç içe, POJO vb. Sınıf türlerini gördük. Bunun dışında, Singleton sınıflarını, Immutable sınıflarını da tartıştık ve bunların uygulama örneklerini de tartıştık.
Java'daki sarmalayıcı sınıflarını ve nesne sınıflarını da ele aldık. Wrapper sınıfları, Java'nın ilkel veri türlerini nesnelere saran sınıflardır. Java'daki nesne sınıfı, diğer tüm sınıfların üst sınıfıdır. Java hiyerarşisindeki en üst sınıftır.
Şimdi Java'daki sınıfları ve nesneleri ve sınıf türlerini tartıştığımıza göre, bir sonraki öğreticide Java'daki yapıcılar hakkında ayrıntılı bir tartışma ile devam edeceğiz.
=> Mükemmel Java Eğitim Kılavuzuna Buradan Bakabilirsiniz.
Önerilen Kaynaklar
- Java Arayüzü ve Örneklerle Soyut Sınıf Eğitimi
- Java Temel Bilgileri: Java Sözdizimi, Java Sınıfı ve Temel Java Kavramları
- Java'da Statik Anahtar Kelime Nedir?
- Java Tamsayı ve Java BigInteger Sınıfı Örneklerle
- Örneklerle Java Tarayıcı Sınıfı Eğitimi
- Java Class Vs Object - Java'da Sınıf ve Nesne Nasıl Kullanılır
- Java Dizi Sınıfı Eğitimi - Örneklerle java.util.Arrays Sınıfı
- Java Vektör Nedir | Örneklerle Java Vektör Sınıfı Eğitimi