Sınıf ve nesne kullanımında bilinmesi gerekli temel kavramlar tanıtıldıktan sonra, Java tarafından desteklenen sınıflara örnek olarak karakter katarı sınıfları (String ve StringBuilder) gösteriliyor. Sunum Java'daki dizi desteğinin tanıtımıyla sonlanıyor.
NOT: Sunum içindeki bağlantılara tıklayarak daha ayrıntılı bilgilerin verildiği makalelere ulaşabilirsiniz.
Bu sunumda, Java programlama dili kullanılarak bir sınıfın gerçekleştirilmesi bağlamında izlenmesi gereken yol ve edinilmesi gereken iyi alışkanlıklar anlatılıyor.
NOT: Sunum içindeki bağlantılara tıklayarak daha ayrıntılı bilgilerin verildiği makalelere ulaşabilirsiniz.
Tarihçesine bakıldıktan sonra, Java programlama dilinin temel özellikleri anlatılıyor. Sunum Java'nın yordamsal programlama yaklaşımıyla kullanıldığı örnekler ile bitiyor. Nesne paradigması için diğer sunumlara biraz sabır!
NOT: Sunum içindeki bağlantılara tıklayarak daha ayrıntılı bilgilerin verildiği makalelere ulaşabilirsiniz.
Bu sunumda, Java'nın desteklediği iki önemli üstkavram anlatılıyor: ayrıksı durumlar ve kalıtlama. Ek olarak, nesnelerin değişmelerinin nasıl önüne geçilebileceği Cloneable arayüzünün gerçekleştirimiyle anlatılırken, Java ortamında karşılaştırılabilirlik kategorisini tanımlayan java.util.Comparable arayüzünün gerçekleştirim örneği de veriliyor.
NOT: Sunum içindeki bağlantılara tıklayarak daha ayrıntılı bilgilerin verildiği makalelere ulaşabilirsiniz.
Gereksinim analizi çalışmaları yazılım projelerinin başarıya ulaşabilmesi için yapılması gereken en önemli iştir. Doğru şekilde ihtiyaçları ortaya konmuş projeler ancak başarılı olabilirler.Gereksinim analiz çalışmaları iki aşamadan meydana gelir; Gereksinimlerin ortaya çıkarılması
Gereksinimlerin öncelik durumuna göre analiz edilmesi. Bu sunumda iyi bir proje için gerekli olan gereksinim analiz dokümanı hazırlama yöntemi verilmiştir.
Haiku Deck is a presentation platform that allows users to create Haiku-style slideshows. The document encourages the reader to get started creating their own Haiku Deck presentation on SlideShare by providing a link to do so. It aims to inspire the reader to try out Haiku Deck's unique presentation style.
Bu sunumda, Java programlama dili kullanılarak bir sınıfın gerçekleştirilmesi bağlamında izlenmesi gereken yol ve edinilmesi gereken iyi alışkanlıklar anlatılıyor.
NOT: Sunum içindeki bağlantılara tıklayarak daha ayrıntılı bilgilerin verildiği makalelere ulaşabilirsiniz.
Tarihçesine bakıldıktan sonra, Java programlama dilinin temel özellikleri anlatılıyor. Sunum Java'nın yordamsal programlama yaklaşımıyla kullanıldığı örnekler ile bitiyor. Nesne paradigması için diğer sunumlara biraz sabır!
NOT: Sunum içindeki bağlantılara tıklayarak daha ayrıntılı bilgilerin verildiği makalelere ulaşabilirsiniz.
Bu sunumda, Java'nın desteklediği iki önemli üstkavram anlatılıyor: ayrıksı durumlar ve kalıtlama. Ek olarak, nesnelerin değişmelerinin nasıl önüne geçilebileceği Cloneable arayüzünün gerçekleştirimiyle anlatılırken, Java ortamında karşılaştırılabilirlik kategorisini tanımlayan java.util.Comparable arayüzünün gerçekleştirim örneği de veriliyor.
NOT: Sunum içindeki bağlantılara tıklayarak daha ayrıntılı bilgilerin verildiği makalelere ulaşabilirsiniz.
Gereksinim analizi çalışmaları yazılım projelerinin başarıya ulaşabilmesi için yapılması gereken en önemli iştir. Doğru şekilde ihtiyaçları ortaya konmuş projeler ancak başarılı olabilirler.Gereksinim analiz çalışmaları iki aşamadan meydana gelir; Gereksinimlerin ortaya çıkarılması
Gereksinimlerin öncelik durumuna göre analiz edilmesi. Bu sunumda iyi bir proje için gerekli olan gereksinim analiz dokümanı hazırlama yöntemi verilmiştir.
Haiku Deck is a presentation platform that allows users to create Haiku-style slideshows. The document encourages the reader to get started creating their own Haiku Deck presentation on SlideShare by providing a link to do so. It aims to inspire the reader to try out Haiku Deck's unique presentation style.
Belinda Harrington explored the virtual world of Second Life, taking screenshots of herself sitting in a chair and exploring different islands. She also visited the Dean's Office in Second Life and engaged in activities like swinging.
Haiku Deck is a presentation platform that allows users to create Haiku-style slideshows. The document encourages the reader to get started creating their own Haiku Deck presentation on SlideShare by providing a link to do so. It suggests the reader may find inspiration to create a Haiku Deck presentation on SlideShare.
Chris Rosenberg presented on his journey from dreaming of a career in music production to graduating from Full Sail University and accepting his first job in the field. He was inspired by family members and legends like Butch Vig and Alan Parsons, and showed photos documenting his education and early career experiences in the studio and learning live sound engineering.
The Civil War was caused by longstanding tensions between the North and South over the issues of states' rights and slavery. The South felt threatened by the growing abolitionist movement and believed states should have more autonomy. Tensions increased further after the Dred Scott decision and publication of Uncle Tom's Cabin, which portrayed slavery negatively. John Brown's raid on Harper's Ferry heightened fears of slave revolts. The election of Abraham Lincoln, a Republican opposed to the expansion of slavery, led Southern states to begin seceding, officially starting the Civil War.
Piotr Sut is a Polish translator with over 20 years of experience specializing in Polish to English translation. He has extensive experience translating documents in various fields including accounting, finance, law, automotive, aviation, IT, and power industries. He owns his own translation business and has translated software, organized translation teams, and conducted automotive business. Piotr Sut holds a Master's degree in English Philology and has taught translation courses. He has worked with various clients translating documents, manuals, and providing interpretation services.
Project ‘EFIASE’ is an initiative of the 6th Prisons Service Council under the Chairmanship of Rev. Dr. Stephen Wengam.
Efiase is the Akan word for Prison. Project Efiase is about bringing transformation to Ghana’s Prisons Service, educating the public about the current state of its prisons and sensitize the public about the importance of the Prisons Service to public safety. It is also about advocating to corporate entities that the Prisons Service is open to business via public Private Partnerships. Finally, Project Efiase is a fundraiser. All the above is needed to initiate transformation. It costs money to rehabilitate people so that when the re-enter society, they do not endanger public safety.
It is the Prisons Service Council’s outreach to ordinary Ghanaians to assist in transforming Ghana’s prisons into centres of reformation, rehabilitation and productivity—not just centres of incapacitation, deterrence and retribution.
Support Project Efiase | Prisons Reform Trust | ECOBANK Ridge Branch Accra | Acc no. 0010084415563401 or use MTN mobile money.
To donate to the Project Efiase via the Prisons Trust Fund using the MTN Mobile Money platform, registered MTN Mobile Money subscribers can access the Prison option under the General Payment menu and enter any amount they wish to donate.
Registered Mobile Money subscribers, who do not have the Mobile money transaction menu on their phones can dial *170# and access the General Payment menu for successful transfer of funds. All donors will receive SMS confirmation to show their transaction is successful. Donors can also make payments at any MTN Service Center nationwide.
Belinda Harrington aims to improve her teaching of foreign language by increasing cultural authenticity and using technology tools. Her goals are to help students succeed in learning the four communicative components of a foreign language: speaking, listening, reading and writing. She wants to create a virtual learning environment to offer an alternative for students who struggle in a traditional classroom, with the long term goals of providing culturally authentic speaking, listening, reading and writing practice through a virtual format.
This document appears to be a presentation on achieving ITSM success when implementing the BMC Remedy ITSM Suite. It includes an agenda, introductions of panel experts, an outline of key areas for success including financial planning, infrastructure, communication, and industry standards. The presentation provides guidance and best practices around each area to help attendees successfully implement or upgrade their ITSM environment for maximum success.
The document discusses static imports in Java. It shows an example of using the Math class's pow and sqrt methods with and without static imports. It demonstrates how static imports allow calling the methods directly without specifying the class name. It also shows importing all static members from a class using a wildcard. The document provides links to learn more about Git/GitHub and joining a forum for questions and a course certificate.
Este documento apresenta o uso de varargs no Java, permitindo que métodos aceitem uma quantidade variável de parâmetros do mesmo tipo. São mostrados três métodos soma() para somar números, um aceitando dois parâmetros fixos, outro três fixos, e um usando varargs para aceitar uma array de inteiros. O último método soma() é reescrito usando varargs para aceitar uma quantidade variável de inteiros.
Data Science and Machine Learning Using Python and Scikit-learnAsim Jalis
Workshop at DataEngConf 2016, on April 7-8 2016, at Galvanize, 44 Tehama Street, San Francisco, CA.
Demo and labs for workshop are at https://github.com/asimjalis/data-science-workshop
Azerbaycan Qafqaz Üniversitesi - (Java Persistence API) JPA ve Hibernate ile ORMMimar Aslan
25 Mayıs 2013 tarihinde Azer JUG (Java User Group) , Azer OUG (Oracle User Group)'un birlikte düzenledikleri Java Web Teknolojileri Seminerine Azerbaycan Qafqaz Üniversitesinde konuşmacı olarak katıldım ve (Java Persistence API) JPA ve Hibernate framework ile ORM hakkında bir sunum yaptım.
Belinda Harrington explored the virtual world of Second Life, taking screenshots of herself sitting in a chair and exploring different islands. She also visited the Dean's Office in Second Life and engaged in activities like swinging.
Haiku Deck is a presentation platform that allows users to create Haiku-style slideshows. The document encourages the reader to get started creating their own Haiku Deck presentation on SlideShare by providing a link to do so. It suggests the reader may find inspiration to create a Haiku Deck presentation on SlideShare.
Chris Rosenberg presented on his journey from dreaming of a career in music production to graduating from Full Sail University and accepting his first job in the field. He was inspired by family members and legends like Butch Vig and Alan Parsons, and showed photos documenting his education and early career experiences in the studio and learning live sound engineering.
The Civil War was caused by longstanding tensions between the North and South over the issues of states' rights and slavery. The South felt threatened by the growing abolitionist movement and believed states should have more autonomy. Tensions increased further after the Dred Scott decision and publication of Uncle Tom's Cabin, which portrayed slavery negatively. John Brown's raid on Harper's Ferry heightened fears of slave revolts. The election of Abraham Lincoln, a Republican opposed to the expansion of slavery, led Southern states to begin seceding, officially starting the Civil War.
Piotr Sut is a Polish translator with over 20 years of experience specializing in Polish to English translation. He has extensive experience translating documents in various fields including accounting, finance, law, automotive, aviation, IT, and power industries. He owns his own translation business and has translated software, organized translation teams, and conducted automotive business. Piotr Sut holds a Master's degree in English Philology and has taught translation courses. He has worked with various clients translating documents, manuals, and providing interpretation services.
Project ‘EFIASE’ is an initiative of the 6th Prisons Service Council under the Chairmanship of Rev. Dr. Stephen Wengam.
Efiase is the Akan word for Prison. Project Efiase is about bringing transformation to Ghana’s Prisons Service, educating the public about the current state of its prisons and sensitize the public about the importance of the Prisons Service to public safety. It is also about advocating to corporate entities that the Prisons Service is open to business via public Private Partnerships. Finally, Project Efiase is a fundraiser. All the above is needed to initiate transformation. It costs money to rehabilitate people so that when the re-enter society, they do not endanger public safety.
It is the Prisons Service Council’s outreach to ordinary Ghanaians to assist in transforming Ghana’s prisons into centres of reformation, rehabilitation and productivity—not just centres of incapacitation, deterrence and retribution.
Support Project Efiase | Prisons Reform Trust | ECOBANK Ridge Branch Accra | Acc no. 0010084415563401 or use MTN mobile money.
To donate to the Project Efiase via the Prisons Trust Fund using the MTN Mobile Money platform, registered MTN Mobile Money subscribers can access the Prison option under the General Payment menu and enter any amount they wish to donate.
Registered Mobile Money subscribers, who do not have the Mobile money transaction menu on their phones can dial *170# and access the General Payment menu for successful transfer of funds. All donors will receive SMS confirmation to show their transaction is successful. Donors can also make payments at any MTN Service Center nationwide.
Belinda Harrington aims to improve her teaching of foreign language by increasing cultural authenticity and using technology tools. Her goals are to help students succeed in learning the four communicative components of a foreign language: speaking, listening, reading and writing. She wants to create a virtual learning environment to offer an alternative for students who struggle in a traditional classroom, with the long term goals of providing culturally authentic speaking, listening, reading and writing practice through a virtual format.
This document appears to be a presentation on achieving ITSM success when implementing the BMC Remedy ITSM Suite. It includes an agenda, introductions of panel experts, an outline of key areas for success including financial planning, infrastructure, communication, and industry standards. The presentation provides guidance and best practices around each area to help attendees successfully implement or upgrade their ITSM environment for maximum success.
The document discusses static imports in Java. It shows an example of using the Math class's pow and sqrt methods with and without static imports. It demonstrates how static imports allow calling the methods directly without specifying the class name. It also shows importing all static members from a class using a wildcard. The document provides links to learn more about Git/GitHub and joining a forum for questions and a course certificate.
Este documento apresenta o uso de varargs no Java, permitindo que métodos aceitem uma quantidade variável de parâmetros do mesmo tipo. São mostrados três métodos soma() para somar números, um aceitando dois parâmetros fixos, outro três fixos, e um usando varargs para aceitar uma array de inteiros. O último método soma() é reescrito usando varargs para aceitar uma quantidade variável de inteiros.
Data Science and Machine Learning Using Python and Scikit-learnAsim Jalis
Workshop at DataEngConf 2016, on April 7-8 2016, at Galvanize, 44 Tehama Street, San Francisco, CA.
Demo and labs for workshop are at https://github.com/asimjalis/data-science-workshop
Azerbaycan Qafqaz Üniversitesi - (Java Persistence API) JPA ve Hibernate ile ORMMimar Aslan
25 Mayıs 2013 tarihinde Azer JUG (Java User Group) , Azer OUG (Oracle User Group)'un birlikte düzenledikleri Java Web Teknolojileri Seminerine Azerbaycan Qafqaz Üniversitesinde konuşmacı olarak katıldım ve (Java Persistence API) JPA ve Hibernate framework ile ORM hakkında bir sunum yaptım.
Bilginç IT Academy - JPA (Java Persistence API)Mimar Aslan
Turkey JUG (Java User Group) Leader,
Turkey JBUG (JBoss User Group) Leader,
Computer Engineer, Senior Java Architect,
Software (Author, Speaker, Trainer)
Mimar Aslan
Java se 8 programming Eğitimi İçeriği.
Bilgi Almak İçin lütfen websitemizi ziyaret ediniz.
https://www.bilginc.com/egitim/44849/java-se-8-programming-egitimi
Ondokuz Mayıs Üniversitesinde Hazırladığım Bir Materyaldir.
Java Programlama Dilini Anlatmaz Sadece Bilgi Verir.
Yararlı olması dileği ile
Muhammet ÇAĞATAY
http://muhammetcagatay.com/
5. .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Sınıflar ve Nesneler
Karakter Katarları
Diziler
Nesnenin Yaşam Döngüsü
Bazı Önemli İletiler
Nesne Yaratma Blog makalesi
İlişkin sınıfa dair sınıf dosyasının sınıf yolu (CLASSPATH)
üzerinde olması gerekir.
Java standardındaki türler otomatik olarak sınıf yolu üzerinde
gözükür.
Sınıf dosyası görünür hale getirilmelidir
Sınıfın uzun adı kullanılabilir.
java.util.Date şuAn = new java.util.Date();
Tevfik AKTUĞLU Java Programlama Dili
6. .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Sınıflar ve Nesneler
Karakter Katarları
Diziler
Nesnenin Yaşam Döngüsü
Bazı Önemli İletiler
Nesne Yaratma Blog makalesi
İlişkin sınıfa dair sınıf dosyasının sınıf yolu (CLASSPATH)
üzerinde olması gerekir.
Java standardındaki türler otomatik olarak sınıf yolu üzerinde
gözükür.
Sınıf dosyası görünür hale getirilmelidir
Sınıfın uzun adı kullanılabilir.
import yönergesi sayesinde sınıfın kısa adı kullanılabilir.
import java.util.Date;
...
Date şuAn = new Date();
Tevfik AKTUĞLU Java Programlama Dili
7. .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Sınıflar ve Nesneler
Karakter Katarları
Diziler
Nesnenin Yaşam Döngüsü
Bazı Önemli İletiler
Nesne Yaratma Blog makalesi
İlişkin sınıfa dair sınıf dosyasının sınıf yolu (CLASSPATH)
üzerinde olması gerekir.
Java standardındaki türler otomatik olarak sınıf yolu üzerinde
gözükür.
Sınıf dosyası görünür hale getirilmelidir
Sınıfın uzun adı kullanılabilir.
import yönergesi sayesinde sınıfın kısa adı kullanılabilir.
java.lang paketindeki tüm türler görünürdür.
String ad = "Tevfik";
Tevfik AKTUĞLU Java Programlama Dili
8. .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Sınıflar ve Nesneler
Karakter Katarları
Diziler
Nesnenin Yaşam Döngüsü
Bazı Önemli İletiler
Nesne Yaratma Blog makalesi
İlişkin sınıfa dair sınıf dosyasının sınıf yolu (CLASSPATH)
üzerinde olması gerekir.
Java standardındaki türler otomatik olarak sınıf yolu üzerinde
gözükür.
Sınıf dosyası görünür hale getirilmelidir
Sınıfın uzun adı kullanılabilir.
import yönergesi sayesinde sınıfın kısa adı kullanılabilir.
java.lang paketindeki tüm türler görünürdür.
Nesne yaratma iki aşamada gerçekleşir.
Yığın bellekten yer ayırma
İlkleme Blog makalesi
Tevfik AKTUĞLU Java Programlama Dili
9. .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Sınıflar ve Nesneler
Karakter Katarları
Diziler
Nesnenin Yaşam Döngüsü
Bazı Önemli İletiler
Nesne Yaratma Blog makalesi
İlişkin sınıfa dair sınıf dosyasının sınıf yolu (CLASSPATH)
üzerinde olması gerekir.
Java standardındaki türler otomatik olarak sınıf yolu üzerinde
gözükür.
Sınıf dosyası görünür hale getirilmelidir
Sınıfın uzun adı kullanılabilir.
import yönergesi sayesinde sınıfın kısa adı kullanılabilir.
java.lang paketindeki tüm türler görünürdür.
Nesne yaratma iki aşamada gerçekleşir.
Yığın bellekten yer ayırma
İlkleme Blog makalesi
new işlecinin her kullanımı yeni bir nesne yaratır.
Nesneleri yeniden kullanmak için new işleci yerine fabrika
metotlarından yararlanılabilir.
Tevfik AKTUĞLU Java Programlama Dili
12. .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Sınıflar ve Nesneler
Karakter Katarları
Diziler
Nesnenin Yaşam Döngüsü
Bazı Önemli İletiler
İleti Gönderme ve Metot Çağırma
Tanım
İleti: Türün çevreyle etkileşim amacıyla ilan ettiği soyut işlem
Metot: Bir işlemin gerçekleştirimi
Çokbiçimlilik: Bir iletinin birden çok metoda bağlanabilmesi
İleti tutacak yoluyla gönderildiği nesnenin türüne uygun seçilen
aynı imzalı metodun çalışması ile işini görür.
Number sayı = new java.math.BigInteger("123");
System.out.println("Değer: " + sayı.intValue());
sayı = new Integer(11);
System.out.println("Değer: " + sayı.intValue());
Tevfik AKTUĞLU Java Programlama Dili
13. .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Sınıflar ve Nesneler
Karakter Katarları
Diziler
Nesnenin Yaşam Döngüsü
Bazı Önemli İletiler
İleti Gönderme ve Metot Çağırma
Tanım
İleti: Türün çevreyle etkileşim amacıyla ilan ettiği soyut işlem
Metot: Bir işlemin gerçekleştirimi
Çokbiçimlilik: Bir iletinin birden çok metoda bağlanabilmesi
İleti tutacak yoluyla gönderildiği nesnenin türüne uygun seçilen
aynı imzalı metodun çalışması ile işini görür.
Nesne ile ilişkilendirilmeyen tutacaklara ileti gönderilemez. Bu
durumda, yapılabilecek tek şey tutacağın null denetimidir.
Tevfik AKTUĞLU Java Programlama Dili
14. .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Sınıflar ve Nesneler
Karakter Katarları
Diziler
Nesnenin Yaşam Döngüsü
Bazı Önemli İletiler
İleti Gönderme ve Metot Çağırma
Tanım
İleti: Türün çevreyle etkileşim amacıyla ilan ettiği soyut işlem
Metot: Bir işlemin gerçekleştirimi
Çokbiçimlilik: Bir iletinin birden çok metoda bağlanabilmesi
İleti tutacak yoluyla gönderildiği nesnenin türüne uygun seçilen
aynı imzalı metodun çalışması ile işini görür.
Nesne ile ilişkilendirilmeyen tutacaklara ileti gönderilemez. Bu
durumda, yapılabilecek tek şey tutacağın null denetimidir.
static metotlar.
Aynı sınıfa ait nesnelerin paylaşılan ortak özellikleri.
Nesne yaratılmadan kullanılabilecek özellikler.
İşleç olarak tanımlanmamış ilkel türlere dair işlemler.
Tevfik AKTUĞLU Java Programlama Dili
16. .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Sınıflar ve Nesneler
Karakter Katarları
Diziler
Nesnenin Yaşam Döngüsü
Bazı Önemli İletiler
Nesne Geri Döndürme
Kullanılmaz hale gelen nesnelerin belleği otomatik çöp
toplayıcı tarafından geri döndürülür.
İlişkili tutacağın olmaması durumunda nesne kullanılmaz hale
gelmiş demektir.
Geri döndürme nesnenin kullanılmaz hale geldiği noktayla
program sonu arasında herhangi bir an gerçekleşebilir ve ilk
giren ilk çıkar mantığı ile yapılmaz.
Tevfik AKTUĞLU Java Programlama Dili
17. .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Sınıflar ve Nesneler
Karakter Katarları
Diziler
Nesnenin Yaşam Döngüsü
Bazı Önemli İletiler
Nesne Geri Döndürme
Kullanılmaz hale gelen nesnelerin belleği otomatik çöp
toplayıcı tarafından geri döndürülür.
İlişkili tutacağın olmaması durumunda nesne kullanılmaz hale
gelmiş demektir.
Geri döndürme nesnenin kullanılmaz hale geldiği noktayla
program sonu arasında herhangi bir an gerçekleşebilir ve ilk
giren ilk çıkar mantığı ile yapılmaz.
Bellek dışı kaynaklar ve JSM tarafından ayrılmayan yığın
bellek programcı tarafından döndürülmek zorundadır.
Tevfik AKTUĞLU Java Programlama Dili
22. .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Sınıflar ve Nesneler
Karakter Katarları
Diziler
Nesnenin Yaşam Döngüsü
Bazı Önemli İletiler
Eşitlik Denetimi (equals) Blog makalesi
== ve != işini tutacağı denetleyerek yapar.
Tutacak yerine nesne eşitliğinin denetimi istenecek olursa,
equals iletisinin kullanılması gerekir.
System.out.println(l1.equals(l2)); // ⇒ true
Tevfik AKTUĞLU Java Programlama Dili
23. .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Sınıflar ve Nesneler
Karakter Katarları
Diziler
Nesnenin Yaşam Döngüsü
Bazı Önemli İletiler
Eşitlik Denetimi (equals) Blog makalesi
== ve != işini tutacağı denetleyerek yapar.
Tutacak yerine nesne eşitliğinin denetimi istenecek olursa,
equals iletisinin kullanılması gerekir.
equals iletisinin varsayılan gerçekleştirimi == ile aynı şekilde
çalışır. Bunun istenmemesi durumunda, ilişkin sınıfta istenen
gerçekleştirime sahip aynı imzalı bir metot sağlanması gerekir.
Tevfik AKTUĞLU Java Programlama Dili
24. .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Sınıflar ve Nesneler
Karakter Katarları
Diziler
Nesnenin Yaşam Döngüsü
Bazı Önemli İletiler
Eşitlik Denetimi (equals) Blog makalesi
== ve != işini tutacağı denetleyerek yapar.
Tutacak yerine nesne eşitliğinin denetimi istenecek olursa,
equals iletisinin kullanılması gerekir.
equals iletisinin varsayılan gerçekleştirimi == ile aynı şekilde
çalışır. Bunun istenmemesi durumunda, ilişkin sınıfta istenen
gerçekleştirime sahip aynı imzalı bir metot sağlanması gerekir.
Kullanılacak fabrika metotları işi değiştirebilir.
Long l1 = Long.valueOf(5), l2 = Long.valueOf(5);
System.out.println(l1 == l2); // ⇒ true
Long l3 = Long.valueOf(128), l4 = Long.valueOf(128);
System.out.println(l3 == l4); // ⇒ false
System.out.println(l3.equals(l4)); // ⇒ true
Tevfik AKTUĞLU Java Programlama Dili
29. .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Sınıflar ve Nesneler
Karakter Katarları
Diziler
Nesnenin Yaşam Döngüsü
Bazı Önemli İletiler
Hoş Yazım (toString)
Nesnelerin ekran, disk dosyası gibi çıktı aygıtlarına insanlar
tarafından okunabilir gösterimlerini yazmak için toString
iletisi kullanılır.
Bitiştirme işlecinin (+) işleneni olarak tutacak kullanılması
durumunda, söz konusu nesne ilişkin sınıfın toString metodu
kullanılarak String’e dönüştürülür.
Integer iSayı = new Integer(1234);
System.out.println(iSayı: + iSayı);
⇓
System.out.println(iSayı: + iSayı.toString());
Tevfik AKTUĞLU Java Programlama Dili
30. .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Sınıflar ve Nesneler
Karakter Katarları
Diziler
Nesnenin Yaşam Döngüsü
Bazı Önemli İletiler
Hoş Yazım (toString)
Nesnelerin ekran, disk dosyası gibi çıktı aygıtlarına insanlar
tarafından okunabilir gösterimlerini yazmak için toString
iletisi kullanılır.
Bitiştirme işlecinin (+) işleneni olarak tutacak kullanılması
durumunda, söz konusu nesne ilişkin sınıfın toString metodu
kullanılarak String’e dönüştürülür.
Integer iSayı = new Integer(1234);
System.out.println(iSayı: + iSayı);
⇓
System.out.println(iSayı: + iSayı.toString());
toString iletisinin varsayılan gerçekleştirimi, nesnenin
tutacağına dair çözülmesi zor bir gösterim üretir. Bunun
istenmemesi durumunda, istenen gerçekleştirime sahip aynı
imzalı bir metot sağlanması gerekir.
Tevfik AKTUĞLU Java Programlama Dili
31. .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Sınıflar ve Nesneler
Karakter Katarları
Diziler
Nesnenin Yaşam Döngüsü
Bazı Önemli İletiler
Kıyım Fonksiyonu (hashCode)
Dizileri çekici kılan özellik: doğrudan erişim.
Dizi indislerinin kısıtlayıcı özelliği: indis tamsayı olmak
zorunda.
int[] nüfus = new int[82]; // 0: toplam nüfus
... nüfus[35] ... // İzmir'in nüfusu
... nüfus[İzmir] ... // İzmir'in nüfusu
Tevfik AKTUĞLU Java Programlama Dili
32. .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Sınıflar ve Nesneler
Karakter Katarları
Diziler
Nesnenin Yaşam Döngüsü
Bazı Önemli İletiler
Kıyım Fonksiyonu (hashCode)
Dizileri çekici kılan özellik: doğrudan erişim.
Dizi indislerinin kısıtlayıcı özelliği: indis tamsayı olmak
zorunda.
int[] nüfus = new int[82]; // 0: toplam nüfus
... nüfus[35] ... // İzmir'in nüfusu
... nüfus[İzmir] ... // İzmir'in nüfusu
Çözüm: Kent adı → Plaka no dönüşümünü gerçekleştiren bir
hashCode metodu sağlamak
Veri Kapları Çerçevesi’ndeki HashMap, HashSet ve
Hashtable kaplarının kullanılması durumunda arka planda
hashCode iletisi kullanılır.
Tevfik AKTUĞLU Java Programlama Dili
33. .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Sınıflar ve Nesneler
Karakter Katarları
Diziler
Nesnenin Yaşam Döngüsü
Bazı Önemli İletiler
Kıyım Fonksiyonu (hashCode)
Dizileri çekici kılan özellik: doğrudan erişim.
Dizi indislerinin kısıtlayıcı özelliği: indis tamsayı olmak
zorunda.
int[] nüfus = new int[82]; // 0: toplam nüfus
... nüfus[35] ... // İzmir'in nüfusu
... nüfus[İzmir] ... // İzmir'in nüfusu
Çözüm: Kent adı → Plaka no dönüşümünü gerçekleştiren bir
hashCode metodu sağlamak
Veri Kapları Çerçevesi’ndeki HashMap, HashSet ve
Hashtable kaplarının kullanılması durumunda arka planda
hashCode iletisi kullanılır.
hashCode iletisinin varsayılan gerçekleştirimi, tutacağı kıyarak
sonuç döndürür. Bu, aynı içeriğe sahip farklı nesnelerin farklı
kıyım değerlerine sahip olması demektir.
Tevfik AKTUĞLU Java Programlama Dili
39. .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Sınıflar ve Nesneler
Karakter Katarları
Diziler
Tanımlama ve Yaratma
İletiler
StringBuilder
String.format
int a = 37, b = 73;
// sonuçStr ← a(37) + b(111) = 6en
String sonuçStr =
String.format(a(%d) + b(%o) = %x%n, a, b, a+b);
import java.util.GregorianCalendar;
...
GregorianCalendar kuruluş =
new GregorianCalendar(1923, 9, 29);
System.out.format(Kuruluş: %1$td.%1$tm.%tY, kuruluş);
// ⇒ Kuruluş: 29.10.1923
int buAn = System.currentTimeMillis();
System.out.format(Bu an: %1$td.%1$tm.%ty, buAn);
// ⇒ Bu an: 10.08.15
Tevfik AKTUĞLU Java Programlama Dili
40. .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Sınıflar ve Nesneler
Karakter Katarları
Diziler
Tanımlama ve Yaratma
İletiler
StringBuilder
String.format
Dönüşüm Belirteçleri
Argüman türü Belirteç Dönüşüm sonucu
d Ondalık tamsayı
Tamsayı o 8’li tamsayı
x,X 16’lı tamsayı
e, E Bilimsel gösterimli sayı
f Ondalık sayı
Kayan noktalı g, G Bilimsel gösterimli veya ondalık sayı
a, A Bellek temsilindeki kesir ve mantisin
16’lı tabandaki bilimsel gösterimi
Tevfik AKTUĞLU Java Programlama Dili
41. .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Sınıflar ve Nesneler
Karakter Katarları
Diziler
Tanımlama ve Yaratma
İletiler
StringBuilder
String.format
Dönüşüm Belirteçleri (2)
Argüman türü Belirteç Dönüşüm sonucu
Karakter c Unicode karakter
b, B true veya false
Genel h, H hashCode iletisinin sonucu
s, S formatTo veya toString iletisinin sonucu
Tarih-Zaman t, T Takip eden ek belirtece bağlı olarak
tarih-zaman bileşenlerinden biri
% % karakteri
n Yeni satır karakteri
Tevfik AKTUĞLU Java Programlama Dili
54. .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Sınıflar ve Nesneler
Karakter Katarları
Diziler
Tanımlama ve Yaratma
İletiler
StringBuilder
İletiler
Eşitlik Denetimi
equals iletisi veya == işlecinden hangisinin kullanılması gerektiğine
karar verirken şunların hatırlanması yararlı olacaktır.
new işlecinin her kullanımı farklı bir nesne yaratır.
String sabitlerinin yeri new işlecinin kullandığından farklı,
özel bir bellek havuzundan ayrılır ve her String sabitinin tek
kopyası tutulur.
İlkleme/atama deyiminin işini yeni String nesnesi yaratarak
gören bir öğe içermesi durumunda, nesnenin yeri, kendisine
eşit bir nesne bulunsa bile, özel bellek havuzundan ayrılmaz.
Yaratılmakta olan nesne için yerin özel bellek havuzundan
ayrılması intern iletisi ile garanti edilir.
Tevfik AKTUĞLU Java Programlama Dili
55. .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Sınıflar ve Nesneler
Karakter Katarları
Diziler
Tanımlama ve Yaratma
İletiler
StringBuilder
İletiler
Eşitlik Denetimi
equals iletisi veya == işlecinden hangisinin kullanılması gerektiğine
karar verirken şunların hatırlanması yararlı olacaktır.
new işlecinin her kullanımı farklı bir nesne yaratır.
String sabitlerinin yeri new işlecinin kullandığından farklı,
özel bir bellek havuzundan ayrılır ve her String sabitinin tek
kopyası tutulur.
İlkleme/atama deyiminin işini yeni String nesnesi yaratarak
gören bir öğe içermesi durumunda, nesnenin yeri, kendisine
eşit bir nesne bulunsa bile, özel bellek havuzundan ayrılmaz.
Yaratılmakta olan nesne için yerin özel bellek havuzundan
ayrılması intern iletisi ile garanti edilir.
Katar içeriğindeki alfabetik karakterlerin büyük/küçük ayırt
etmeksizin denetlenmesi için equalsIgnoreCase iletisi
kullanılmalıdır.
Tevfik AKTUĞLU Java Programlama Dili
60. .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Sınıflar ve Nesneler
Karakter Katarları
Diziler
Tanımlama ve Yaratma
İletiler
StringBuilder
İletiler
Dilimleme ve Dönüştürme
Dilimleme: substring
String ad = new String(Tevfik Aktuğlu);
// ilkAd ← Tevfik
String ilkAd = ad.substring(0, 6);
// Aşağıdaki satır String yeniAd = ad; ile eşdeğerdir
String yeniAd = ad.substring(0);
boolean aynıMı = yeniAd == ad; // aynıMı ← true
Dönüştürme
Alfabetik karakter dönüşümü: toLowerCase ve toUpperCase
Uçlardaki boşluklardan arındırma: trim
// uzunluk ← 2
int uzunluk = tO0 nr .trim().length();
Tevfik AKTUĞLU Java Programlama Dili
61. .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Sınıflar ve Nesneler
Karakter Katarları
Diziler
Tanımlama ve Yaratma
İletiler
StringBuilder
İletiler
Arama
indexOf ve lastIndexOf
String tkrlm = Bir berber bir berbere...;
int ilkber = tkrlm.indexOf(ber); // ilkber ← 4
int ber2 = tkrlm.indexOf(ber, 5); // ber2 ← 7
int sonber = tkrlm.lastIndexOf(ber); // sonber ← 18
int ber3 = tkrlm.lastIndexOf(ber, 17); // ber3 ← 15
Tevfik AKTUĞLU Java Programlama Dili
62. .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Sınıflar ve Nesneler
Karakter Katarları
Diziler
Tanımlama ve Yaratma
İletiler
StringBuilder
İletiler
Arama
indexOf ve lastIndexOf
String tkrlm = Bir berber bir berbere...;
int ilkber = tkrlm.indexOf(ber); // ilkber ← 4
int ber2 = tkrlm.indexOf(ber, 5); // ber2 ← 7
int sonber = tkrlm.lastIndexOf(ber); // sonber ← 18
int ber3 = tkrlm.lastIndexOf(ber, 17); // ber3 ← 15
Özel durumlar için startsWith ve endsWith kullanılabilir.
startsWith(x) ≡ indexOf(x) ==0
startsWith(x, n) ≡ substring(n).indexOf(x) ==0
endsWith(x) ≡ lastIndexOf(x)+x.length() ==length()
Tevfik AKTUĞLU Java Programlama Dili
63. .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Sınıflar ve Nesneler
Karakter Katarları
Diziler
Tanımlama ve Yaratma
İletiler
StringBuilder
StringBuilder
String nesnelerinin sabit olması, kimi zaman hem yerden
hem de zamandan kaybetmemize neden olabilir.
String fatih = 2 + .Mehmet;
Üç nesne (”2”, ”.Mehmet” ve ”2.Mehmet”) yaratılırken sadece
üçüncüsü kullanılmaktadır.
Tevfik AKTUĞLU Java Programlama Dili
64. .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Sınıflar ve Nesneler
Karakter Katarları
Diziler
Tanımlama ve Yaratma
İletiler
StringBuilder
StringBuilder
String nesnelerinin sabit olması, kimi zaman hem yerden
hem de zamandan kaybetmemize neden olabilir.
String fatih = 2 + .Mehmet;
Üç nesne (”2”, ”.Mehmet” ve ”2.Mehmet”) yaratılırken sadece
üçüncüsü kullanılmaktadır.
Bu gibi durumlarda, karakter katarı içeriğini yapıcı desenine
uygun bir biçimde peyderpey oluşturma olanağını tanıyan
StringBuilder sınıfının kullanılması daha doğru olacaktır.
Tevfik AKTUĞLU Java Programlama Dili
65. .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Sınıflar ve Nesneler
Karakter Katarları
Diziler
Tanımlama ve Yaratma
İletiler
StringBuilder
StringBuilder
String nesnelerinin sabit olması, kimi zaman hem yerden
hem de zamandan kaybetmemize neden olabilir.
String fatih = 2 + .Mehmet;
Üç nesne (”2”, ”.Mehmet” ve ”2.Mehmet”) yaratılırken sadece
üçüncüsü kullanılmaktadır.
Bu gibi durumlarda, karakter katarı içeriğini yapıcı desenine
uygun bir biçimde peyderpey oluşturma olanağını tanıyan
StringBuilder sınıfının kullanılması daha doğru olacaktır.
StringBuilder ile aynı arayüze sahip StringBuffer sınıfı,
söz konusu işlevselliği izlek güvenli bir biçimde sağlar.
Tevfik AKTUĞLU Java Programlama Dili
71. .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Sınıflar ve Nesneler
Karakter Katarları
Diziler
Tanımlama ve Yaratma
Çok Boyutlu Diziler
java.util.Arrays
Tutacak ve Dizi Nesnesi
Tutacak ilişkili olduğu dizi nesnesini temsil eder. Bu nesne,
diğer bileşenlerin yanısıra elemanların saklanacağı kabı da
bulundurur.
Diziler statik kaplardır; tutacak.length ile öğrenilebilecek dizi
nesnesinin sığası, çalışma anında belirlenebilmesine karşılık,
değiştirilemez. java.util.Vector
İndis değeri, [0..tutacak.length) aralığından olmalıdır. Sınır
dışı bir değer ArrayIndexOutOfBoundsException ayrıksı
durum nesnesi ile bildirilir.
Tevfik AKTUĞLU Java Programlama Dili
72. .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Sınıflar ve Nesneler
Karakter Katarları
Diziler
Tanımlama ve Yaratma
Çok Boyutlu Diziler
java.util.Arrays
Tutacak ve Dizi Nesnesi
Tutacak ilişkili olduğu dizi nesnesini temsil eder. Bu nesne,
diğer bileşenlerin yanısıra elemanların saklanacağı kabı da
bulundurur.
Diziler statik kaplardır; tutacak.length ile öğrenilebilecek dizi
nesnesinin sığası, çalışma anında belirlenebilmesine karşılık,
değiştirilemez. java.util.Vector
İndis değeri, [0..tutacak.length) aralığından olmalıdır. Sınır
dışı bir değer ArrayIndexOutOfBoundsException ayrıksı
durum nesnesi ile bildirilir.
Dizi içeriği eleman türünün varsayılan ilk değeri ile ilklenir.
Tevfik AKTUĞLU Java Programlama Dili
73. .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Sınıflar ve Nesneler
Karakter Katarları
Diziler
Tanımlama ve Yaratma
Çok Boyutlu Diziler
java.util.Arrays
İlkleyerek Dizi Yaratma
// Aşağıdaki tanım şu dört komuta denk
// String[] kankalar = new String[3];
// kankalar[0] = Ali;
// kankalar[1] = Veli;
// kankalar[2] = Selami;
String[] kankalar = {Ali, Veli, Selami};
kankalar
“Ali”
“Veli”
“Selami”
Tevfik AKTUĞLU Java Programlama Dili
75. .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Sınıflar ve Nesneler
Karakter Katarları
Diziler
Tanımlama ve Yaratma
Çok Boyutlu Diziler
java.util.Arrays
Tür Uyumluluk
short[] shortDizi = new short[10];
short[] shortDizi2 = new short[20];
...
shortDizi2 = shortDizi;
shortDizi2[5] = 125; // shortDizi[5]'i de değiştirir!
Tutacak ve dizi nesnesi, Java programlama dili tarafından
tanımlanmış özel bir sınıfa aittir. Örneğin, shortDizi ve ilişkin dizi
nesnesi short[] sınıfına aittir. Bu sınıf, sığasına bakmaksızın tüm
short elemanlı dizilerin ait olduğu sınıfı temsil eder.
Tevfik AKTUĞLU Java Programlama Dili
76. .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Sınıflar ve Nesneler
Karakter Katarları
Diziler
Tanımlama ve Yaratma
Çok Boyutlu Diziler
java.util.Arrays
Tür Uyumluluk
short[] shortDizi = new short[10];
short[] shortDizi2 = new short[20];
...
shortDizi2 = shortDizi;
shortDizi2[5] = 125; // shortDizi[5]'i de değiştirir!
Tutacak ve dizi nesnesi, Java programlama dili tarafından
tanımlanmış özel bir sınıfa aittir. Örneğin, shortDizi ve ilişkin dizi
nesnesi short[] sınıfına aittir. Bu sınıf, sığasına bakmaksızın tüm
short elemanlı dizilerin ait olduğu sınıfı temsil eder.
equals, toString gibi tüm nesnelere gönderilebilecek iletileri
barındıran Object sınıfındakilere ek olarak, dizi nesnelerine [] işleci
yoluyla iki ileti gönderilebilir: eleman erişim ve eleman güncelleme.
Tevfik AKTUĞLU Java Programlama Dili
77. .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Sınıflar ve Nesneler
Karakter Katarları
Diziler
Tanımlama ve Yaratma
Çok Boyutlu Diziler
java.util.Arrays
Tür Uyumluluk
byte b = ...;
int i = b; // Tamam
...
byte[] byteDizi = new byte[10];
int[] intDizi = byteDizi; // Derleme hatası!
İlkel türler arasındaki kapsama ilişkisi, söz konusu türlerin
değerlerini içeren diziler için geçerli değildir.
Tevfik AKTUĞLU Java Programlama Dili