100+ Java Mülakat Soruları ve Cevapları (2025)
Java Yeni başlayanlar için Programlama Mülakat Soruları ve Cevapları
1) İç Sınıf ile Alt Sınıf arasındaki fark nedir?
İç sınıf, başka bir sınıfın içine yerleştirilmiş bir sınıftır. Bir İç sınıf, kendisini yuvalayan sınıf için erişim haklarına sahiptir ve dış sınıfta tanımlanan tüm değişkenlere ve yöntemlere erişebilir.
Alt sınıf, süper sınıf adı verilen başka bir sınıftan miras alan bir sınıftır. Alt sınıf, süper sınıfının tüm genel ve korumalı yöntemlerine ve alanlarına erişebilir.
👉 Ücretsiz PDF İndir: Java Mülakat Mülakat Soruları ve Cevapları >>
2) Çeşitli erişim belirteçleri nelerdir? Java sınıflar?
In Javaerişim belirticileri, erişim kapsamını tanımlayan bir sınıf adından önce kullanılan anahtar kelimelerdir. Sınıflar için erişim belirtici türleri şunlardır:
1) Kamu: Class,Method,Field’a her yerden erişilebilir.
2) Korumalı: Method,Field'a ait olduğu aynı sınıftan veya alt sınıflardan ve aynı paketin sınıfından erişilebilir ancak dışarıdan erişilemez.
3) Varsayılan: Method,Field,class'a yalnızca aynı paketten erişilebilir, yerel paketin dışından erişilemez.
4) Özel: Method,Field öğelerine ait oldukları sınıftan erişilebilir.
3) Statik yöntemlerin ve statik değişkenlerin amacı nedir?
Her nesne için ayrı kopyalar oluşturmak yerine, bir sınıfın birden fazla nesnesi arasında bir yöntemi veya değişkeni paylaşma gereksinimi olduğunda, bir yöntemi veya değişkeni tüm nesneler için paylaşılan hale getirmek için statik anahtar kelimeyi kullanırız.
4) Veri kapsülleme nedir ve önemi nedir?
Kapsülleme, Nesne Yönelimli Programlamada özellikleri ve yöntemleri tek bir birimde birleştirmeye yönelik bir kavramdır.
Kapsülleme, her nesnenin kendi yöntemleri ve değişkenleri olduğu ve diğer nesnelerden bağımsız olarak kendi işlevlerini yerine getirdiği için programcıların yazılım geliştirmede modüler bir yaklaşım izlemelerine yardımcı olur. Kapsülleme aynı zamanda veri gizleme amacına da hizmet eder.
5) Singleton sınıfı nedir? Kullanımına ilişkin pratik bir örnek verin.
Java'daki bir singleton sınıfının yalnızca bir örneği olabilir ve dolayısıyla tüm yöntemleri ve değişkenleri yalnızca bir örneğe aittir. Singleton sınıfı kavramı, bir sınıf için nesne sayısının sınırlandırılmasının gerekli olduğu durumlarda kullanışlıdır.
Tekil kullanım senaryosunun en iyi örneği, bazı sürücü sınırlamaları veya herhangi bir lisans sorunu nedeniyle bir veritabanına yalnızca tek bir bağlantıya sahip olma sınırının olduğu durumdur.
6) Döngüler Nelerdir? Java? Üç tür döngü nedir?
Döngü, programlamada bir ifadeyi veya ifade bloğunu tekrar tekrar yürütmek için kullanılır. Üç vardır döngü türleri Java:
1) Döngüler için
For döngüleri Java'da ifadeleri belirli sayıda tekrar tekrar yürütmek için kullanılır. For döngüleri, programcı tarafından ifadelerin kaç kez çalıştırılacağı bilindiğinde kullanılır.
2) While Döngüleri
While döngüsü, belirli ifadelerin bir koşul yerine getirilene kadar tekrar tekrar yürütülmesi gerektiğinde kullanılır. While döngülerinde, ifadelerin çalıştırılmasından önce ilk olarak koşul kontrol edilir.
3) While Döngüleri Yapın
Do While Döngüsü, While döngüsüyle aynıdır, tek farkı, ifade bloğunun yürütülmesinden sonra koşulun kontrol edilmesidir. Dolayısıyla do while döngüsü durumunda ifadeler en az bir kez yürütülür.
7) Sonsuz Döngü nedir? Sonsuz döngü nasıl bildirilir?
Sonsuz bir döngü hiçbir koşula bağlı olmaksızın sonsuza kadar çalışır. İfade bloklarının gövdesinde herhangi bir kesme mantığı tanımlanarak sonsuz bir döngü kırılabilir.
Sonsuz döngü şu şekilde bildirilir:
for (;;) { // Statements to execute // Add any loop breaking logic }
8) Continue ve break ifadeleri arasındaki fark nedir?
Break ve Continue, Döngülerde kullanılan iki önemli anahtar kelimedir. Bir döngüde break anahtar sözcüğü kullanıldığında döngü anında bozulur, devam anahtar sözcüğü kullanıldığında ise mevcut yineleme bozulur ve döngü bir sonraki yinelemeyle devam eder.
Aşağıdaki örnekte sayaç 4'e ulaştığında döngü bozulur.
for (counter = 0; counter & lt; 10; counter++) system.out.println(counter); if (counter == 4) { break; } }
Aşağıdaki örnekte, sayaç 4'e ulaştığında döngü bir sonraki yinelemeye atlar ve devam anahtar sözcüğünden sonraki tüm ifadeler geçerli yineleme için atlanır.
for (counter = 0; counter < 10; counter++) system.out.println(counter); if (counter == 4) { continue; } system.out.println("This will not get printed when counter is 4"); }
9) Double ve float değişkenler arasındaki fark nedir? Java?
Java'da float bellekte 4 byte yer kaplar. Double Bellekte 8 byte yer kaplar. Float, tek duyarlıklı kayan noktalı ondalık sayıdır. Double çift hassasiyetli ondalık sayıdır.
10) Nihai Anahtar Kelime Nedir? Java? Bir örnek verin.
Java'da Final anahtar sözcüğü kullanılarak bir sabit bildirilir. Değer yalnızca bir kez atanabilir ve atandıktan sonra bir sabitin değeri değiştirilemez.
Aşağıdaki örnekte, const_val adında bir sabit bildirilmiş ve bir değer atanmıştır:
Özel Final int const_val=100
Bir yöntem final olarak bildirildiğinde, alt sınıflar tarafından geçersiz kılınamaz. Bu yöntem diğer yöntemlere göre daha hızlıdır çünkü uygun zamanda çözümlenir.
Bir sınıf final olarak bildirildiğinde, alt sınıflara ayrılamaz. Örnek String, Integer ve diğer sarmalayıcı sınıflar.
11) Üçlü operatör nedir? Örnek vermek.
Koşullu operatör olarak da adlandırılan üçlü operatör, Boolean değer değerlendirmesine dayalı olarak bir değişkene hangi değerin atanacağına karar vermek için kullanılır. olarak mı belirtiliyor?
Aşağıdaki örnekte, sıralama 1 ise duruma "Bitti", aksi halde "Beklemede" değeri atanır.
public class conditionTest { public static void main(String args[]) { String status; int rank = 3; status = (rank == 1) ? "Done" : "Pending"; System.out.println(status); } }
12) Rastgele sayılar nasıl üretilebilir? Java?
- Math.random() işlevini kullanarak 0.1'den büyük veya eşit ve 1.0'dan küçük aralıkta rastgele sayılar oluşturabilirsiniz.
- Java.util paketinde Random sınıfını kullanma
13) Varsayılan anahtar durumu nedir? Örnek ver.
İçinde anahtar bildirimi, başka hiçbir anahtar koşulu eşleşmediğinde varsayılan durum yürütülür. Varsayılan durum isteğe bağlı bir durumdur. Yalnızca diğer tüm anahtar durumları kodlandıktan sonra bildirilebilir.
Aşağıdaki örnekte puan 1 veya 2 olmadığında varsayılan durum kullanılmıştır.
public class SwitchExample { public static void main(String args[]) { int score = 4; // Declare the score variable inside the main method switch (score) { case 1: System.out.println("Score is 1"); break; case 2: System.out.println("Score is 2"); break; default: System.out.println("Default Case"); } } }
14) Temel sınıf nedir? Java tüm sınıflar hangisinden türetilmiştir?
java.lang.object
15) main() metodunu kullanabilir miyim? Java herhangi bir veri döndürebilir mi?
Java'da main() yöntemi herhangi bir veri döndüremez ve bu nedenle her zaman void dönüş türüyle bildirilir.
16) Nedir? Java Paketler mi? Paketlerin önemi nedir?
In Javapaket, birbirleriyle ilişkili oldukları için bir araya getirilen sınıfların ve arayüzlerin bir koleksiyonudur. Paketlerin kullanılması, geliştiricilerin kodu modüler hale getirmesine ve kodu uygun şekilde yeniden kullanım için gruplamasına yardımcı olur. Kod Paketlerde paketlendikten sonra diğer sınıflara aktarılabilir ve kullanılabilir.
17) Herhangi bir abstract metodu olmadan bir sınıfı Abstract olarak tanımlayabilir miyiz?
Evet, herhangi bir soyut metodu olmasa bile sınıf adından önce soyut anahtar kelimesini kullanarak soyut bir sınıf oluşturabiliriz. Ancak, bir sınıfın tek bir soyut metodu varsa, soyut olarak bildirilmelidir, aksi takdirde hata verir.
18) Soyut Sınıf ile Arayüz arasındaki fark nedir? Java?
Soyut bir sınıf ile arayüz arasındaki temel fark, bir arayüzün yalnızca somut bir uygulama olmadan genel statik yöntemlerin bildirimine sahip olabilmesi, soyut bir sınıfın ise somut uygulama olsun veya olmasın herhangi bir erişim belirtecine (genel, özel vb.) sahip üyelere sahip olabilmesidir.
Soyut sınıfların ve arayüzlerin kullanımındaki bir diğer önemli fark, bir arayüzü uygulayan bir sınıfın, arayüzün tüm yöntemlerini uygulaması gerekirken, soyut bir sınıftan miras alan bir sınıfın, süper sınıfının tüm yöntemlerinin uygulanmasını gerektirmemesidir.
Bir sınıf birden fazla arayüzü uygulayabilir ancak yalnızca bir soyut sınıfı genişletebilir.
19) Arayüzlerin soyut sınıflar üzerindeki performans etkileri nelerdir?
Arayüzler için ekstra yönlendirmeler gerektiğinden, soyut sınıflarla karşılaştırıldığında arayüzlerin performansı daha yavaştır. Geliştiricilerin dikkate alması gereken bir diğer önemli faktör, herhangi bir sınıfın yalnızca bir soyut sınıfı genişletebilmesine karşın bir sınıfın birçok arayüzü uygulayabilmesidir.
Arayüzlerin kullanımı, bir sınıfta bir arayüz uygulandığında geliştiricilere ekstra bir yük getirir; geliştirici her arayüz yöntemini uygulamak zorunda kalır.
20) Bir paketi içe aktarmak, alt paketlerini de içe aktarır mı? Java?
Java'da bir paket içe aktarıldığında alt paketleri içe aktarılmaz ve gerekirse geliştiricinin bunları ayrı olarak içe aktarması gerekir.
Örneğin, bir geliştirici bir üniversite paketini içe aktarırsa*, üniversite adlı paketteki tüm sınıflar yüklenir ancak alt paketteki hiçbir sınıf yüklenmez. Sınıfları alt paketinden (örneğin departman) yüklemek için geliştiricinin bunu açıkça aşağıdaki gibi içe aktarması gerekir:
Üniversite.bölümünü içe aktar.*
21) Sınıfımızın ana metodunu özel olarak ilan edebilir miyiz?
Java'da herhangi bir uygulamanın doğru şekilde çalıştırılması için ana yöntemin genel statik olması gerekir. Ana yöntem özel olarak bildirilirse geliştirici herhangi bir derleme hatası almaz, ancak çalıştırılmaz ve çalışma zamanı hatası verir.
22) Bir fonksiyona argümanı değere göre aktarmak yerine referansa göre nasıl iletebiliriz?
Java'da, bir işleve argümanı yalnızca değere göre iletebiliriz, referansa göre değil.
23) Java'da bir nesne nasıl serileştirilir?
Java'da, bir nesneyi serileştirme yoluyla bayt akışına dönüştürmek için sınıf tarafından Serializable adında bir arayüz uygulanır. Serileştirilebilir arayüzü uygulayan bir sınıfın tüm nesneleri serileştirilir ve durumları bayt akışına kaydedilir.
24) Serileştirmeyi ne zaman kullanmalıyız?
Serileştirme, verilerin ağ üzerinden iletilmesi gerektiğinde kullanılır. Serileştirme kullanılarak nesnenin durumu kaydedilir ve bayt akışına dönüştürülür. Bayt akışı ağ üzerinden aktarılır ve hedefte nesne yeniden oluşturulur.
25) Try Block'un ardından Catch Block'un gelmesi zorunlu mudur? Java İstisna yönetimi için?
Try bloğunun ardından Catch bloğu veya Nihayet bloğu veya her ikisinin gelmesi gerekir. Try bloğundan atılan herhangi bir istisnanın ya catch bloğunda yakalanması ya da kod iptali Nihayet bloğuna yerleştirilmeden önce gerçekleştirilecek belirli görevlerin olması gerekir.
Java Deneyimlilere Yönelik Mülakat Soruları ve Cevapları
26) İstisna bloğunda bazı istisnalar oluşsa bile, Nihayet istisna bloğunu atlamanın bir yolu var mı?
Try bloğunda bir istisna oluşursa, kontrol mevcutsa catch bloğuna geçer, aksi takdirde finally bloğuna geçer. Finally bloğu her zaman bir istisna oluştuğunda yürütülür ve Finally bloğundaki herhangi bir ifadenin yürütülmesini önlemenin tek yolu try bloğunun sonuna aşağıdaki kod satırını yazarak kodu zorla sonlandırmaktır:
System.exit(0);
27) Bir sınıfın yapıcısı ne zaman çağrılır?
Bir sınıfın yapıcısı, new anahtar sözcüğüyle her nesne oluşturulduğunda çağrılır.
Örneğin, aşağıdaki sınıfta new anahtar sözcüğü kullanılarak iki nesne yaratılıyor ve dolayısıyla constructor iki kez çağrılıyor.
public class const_example { const_example() { system.out.println("Inside constructor"); } public static void main(String args[]) { const_example c1 = new const_example(); const_example c2 = new const_example(); } }
28) Bir sınıfın birden fazla kurucusu olabilir mi?
Evet, bir sınıfın farklı parametrelere sahip birden fazla yapıcısı olabilir. Nesne oluşturma için hangi yapıcının kullanılacağı, nesneleri oluştururken aktarılan argümanlara bağlıdır.
29) Bir sınıfın statik yöntemlerini geçersiz kılabilir miyiz?
Statik yöntemleri geçersiz kılamayız. Statik yöntemler tek tek nesnelere değil, bir sınıfa aittir ve derleme sırasında (çalışma zamanında değil) çözümlenir. Statik yöntemi geçersiz kılmaya çalışsak bile, ne bir derleme hatasıyla ne de çalıştırırken geçersiz kılma etkisiyle karşılaşmayacağız. kod.
30) Aşağıdaki örnekte çıktı ne olacaktır?
public class superclass { public void displayResult() { system.out.println("Printing from superclass"); } } public class subclass extends superclass { public void displayResult() { system.out.println("Displaying from subClass"); super.displayResult(); } public static void main(String args[]) { subclass obj = new subclass(); obj.displayResult(); } }
Ans: Çıktı şöyle olacaktır:
Alt sınıftan görüntüleniyor
Süper sınıftan yazdırma
31) String, Java'da bir veri türü müdür?
Java'da dize ilkel bir veri türü değildir. Java'da bir dize oluşturulduğunda, aslında bir nesnedir. JavaOluşturulan .Lang.String sınıfı. Bu string nesnesinin oluşturulmasından sonra, String sınıfının tüm yerleşik yöntemleri string nesnesi üzerinde kullanılabilir.
32) Aşağıdaki örnekte kaç adet String Nesnesi yaratılmıştır?
String s1="I am Java Expert"; String s2="I am C Expert"; String s3="I am Java Expert";
Yukarıdaki örnekte iki nesne Java.Lang.String sınıfı oluşturulur. s1 ve s3 aynı nesneye referanslardır.
33) Neden Dizeler İçeride? Java Değişmez olarak mı adlandırılıyor?
Java'da, dize nesnelerine değişmez denir, çünkü bir dizeye değer atandığında değiştirilemez ve değiştirilirse yeni bir nesne oluşturulur.
Aşağıdaki örnekte referans str, "Değer bir" değerine sahip bir dize nesnesini ifade eder.
String str="Value One";
Ona yeni bir değer atandığında, yeni bir String nesnesi oluşturulur ve referans yeni nesneye taşınır.
str="New Value";
34) Bir dizi ile Vektör arasındaki fark nedir?
Bir dizi, aynı ilkel türdeki verileri gruplandırır ve doğası gereği statiktir; vektörler ise doğası gereği dinamiktir ve farklı veri türlerindeki verileri tutabilir.
35) Çoklu iş parçacığı nedir?
Çoklu iş parçacığı, birden fazla görevi tek bir program içerisinde eşzamanlı olarak çalıştırmak için kullanılan bir programlama konseptidir. İş parçacıkları aynı işlem yığınını paylaşır ve paralel olarak çalışır. Herhangi bir programın performansının iyileştirilmesine yardımcı olur.
36) Neden Çalıştırılabilir Arayüz kullanılıyor? Java?
Java'da çok iş parçacıklı uygulamaları hayata geçirmek için Runnable arayüzü kullanılır. Java.Lang.Runnable arayüzü, çoklu iş parçacığını desteklemek için bir sınıf tarafından uygulanır.
37) Çoklu iş parçacıklarını uygulamanın iki yolu nelerdir? Java?
Çok iş parçacıklı uygulamalar geliştirilebilir Java Aşağıdaki iki metodolojiden herhangi birini kullanarak:
1) Kullanarak Java.Lang.Çalıştırılabilir Arayüz. Sınıflar, çoklu iş parçacığını etkinleştirmek için bu arayüzü uygular. Bu arayüzde uygulanan bir Run() yöntemi vardır.
2) Genişleyen bir sınıf yazarak Java.Lang.Thread sınıfı.
38) Verilerde çok fazla değişiklik yapılması gerektiğinde hangisi tercih edilmelidir? Dize veya DizeBuffer?
Dizeden beriBufferdoğası gereği dinamiktir ve String'in değerlerini değiştirebilirizBuffer String'in aksine değişmez nesneler olduğundan, String'i kullanmak her zaman iyi bir seçimdirBuffer Veriler çok fazla değiştirildiğinde. Böyle bir durumda String kullanırsak, her veri değişikliğinde yeni bir String nesnesi oluşturulacak ve bu da ekstra bir yük oluşturacaktır.
39) Switch İfadesinin her durumunda Break kullanmanın amacı nedir?
Break, bir anahtardaki her durumdan sonra (sonuncusu hariç) kullanılır, böylece kod geçerli durumdan sonra kesilir ve devam eden durumlarda da akmaz.
Her vakadan sonra break kullanılmazsa, geçerli vakadan sonraki tüm vakalar da yürütülür ve bu da yanlış sonuçlara neden olur.
40) Çöp toplama işlemi nasıl yapılıyor? Java?
Java'da, bir nesneye artık başvurulmadığı zaman, çöp toplama gerçekleşir ve nesne otomatik olarak yok edilir. Otomatik çöp toplama için Java, System.gc() yöntemini veya Runtime.gc() yöntemini çağırır.
41) Ana yöntemden önce herhangi bir kodu nasıl çalıştırabiliriz?
Sınıfın yükleme sırasında nesnelerin oluşturulmasından önce herhangi bir ifadeyi yürütmek istiyorsak, sınıfta statik bir kod bloğu kullanabiliriz. Bu statik kod bloğunun içindeki herhangi bir ifade, ana yöntemde nesneler oluşturulmadan önce bile sınıfın yüklenmesi sırasında bir kez yürütülür.
42) Bir sınıf aynı anda hem üst hem de alt sınıf olabilir mi? Örnek ver.
Eğer bir kalıtım hiyerarşisi kullanılıyorsa, bir sınıf aynı anda başka bir sınıf için süper sınıf, bir başka sınıf için de alt sınıf olabilir.
Aşağıdaki örnekte kıta sınıfı, dünya sınıfının alt sınıfı, ülke sınıfının ise süper sınıfıdır.
public class world { .......... } public class continenet extends world { ............ } public class country extends continent { ...................... }
43) Eğer sınıfta hiçbir yapıcı tanımlanmamışsa, sınıfın nesneleri nasıl yaratılır?
Bir Java sınıfında açık bir kurucu tanımlanmamış olsa bile, nesne oluşturma için varsayılan bir kurucu örtülü olarak kullanıldığından nesneler başarıyla oluşturulur. Bu yapıcının hiçbir parametresi yoktur.
44) Çoklu iş parçacığında bir kaynağın aynı anda birden fazla iş parçacığı tarafından kullanılmadığından nasıl emin olabiliriz?
Çoklu iş parçacığında, birden fazla iş parçacığı arasında paylaşılan kaynaklara erişim, senkronizasyon kavramı kullanılarak kontrol edilebilir. senkronize anahtar kelimekullanarak, aynı anda yalnızca bir iş parçacığının paylaşılan kaynağı kullanabilmesini ve diğerlerinin, yalnızca diğer iş parçacığının onu kullanmasından kurtulduktan sonra kaynağın kontrolünü ele geçirebilmesini sağlayabiliriz.
45) Bir nesne için sınıfın yapıcısını birden fazla kez çağırabilir miyiz?
New anahtar kelimesini kullanarak bir nesne oluşturduğumuzda yapıcı otomatik olarak çağrılır. Nesne yaratıldığı sırada bir nesne için yalnızca bir kez çağrılır ve bu nedenle, bir nesne yaratıldıktan sonra yapıcıyı tekrar çağıramayız.
46) ClassA ve classB adında iki sınıf vardır. Her iki sınıf da aynı pakettedir. A sınıfının özel bir üyesine B sınıfı bir nesne tarafından erişilebilir mi?
Bir sınıfın özel üyelerine, o sınıfın kapsamı dışında erişilemez ve aynı pakette olsa bile diğer sınıflar bunlara erişemez.
47) Bir sınıfta aynı isimde iki metodumuz olabilir mi?
Bir sınıfta aynı adda ancak farklı sayıda/tipte parametreye sahip iki yöntem tanımlayabiliriz. Hangi yöntemin çağrılacağı, iletilen parametrelere bağlı olacaktır.
Örneğin aşağıdaki sınıfta aynı ada sahip ancak farklı parametrelere sahip iki yazdırma yöntemimiz var. Parametrelere bağlı olarak uygun olan çağrılacaktır:
public class methodExample { public void print() { system.out.println("Print method without parameters."); } public void print(String name) { system.out.println("Print method with parameter"); } public static void main(String args[]) { methodExample obj1 = new methodExample(); obj1.print(); obj1.print("xx"); } }
48) Bir Java nesnesinin kopyasını nasıl yapabiliriz?
Bir nesnenin kopyasını oluşturmak için klonlama kavramını kullanabiliriz. Klonlamayı kullanarak bir nesnenin gerçek durumunun kopyalarını oluştururuz.
Clone(), Klonlanabilir arayüzün bir yöntemidir ve bu nedenle, nesne kopyaları oluşturmak için Klonlanabilir arayüzün uygulanması gerekir.
49) Miras kullanmanın faydası nedir?
Kalıtım kullanmanın temel faydası, alt sınıfların kendi süper sınıfının kodunu yeniden kullanmasını sağladığı için kodun yeniden kullanılabilirliğidir. Polimorfizm (Genişletilebilirlik), mevcut türetilmiş sınıfları etkilemeden yeni işlevlerin sunulmasına olanak tanıyan bir başka büyük faydadır.
50) Bir sınıfın değişkenleri ve yöntemleri için varsayılan erişim belirteci nedir?
Değişkenler ve yöntem için varsayılan erişim belirteci paket korumalıdır; yani değişkenler ve sınıf, paketin dışında değil aynı pakette olmak üzere diğer tüm sınıflar tarafından kullanılabilir.
51) İşaretçilerin kullanımına bir örnek verin Java sınıf.
Hiçbir işaretçi yok Java. Bu yüzden işaretçi kavramını kullanamayız. Java.
52) Bir sınıfın mirasını, ondan hiçbir sınıfın miras alınamayacağı şekilde nasıl kısıtlayabiliriz?
Bir sınıfın herhangi bir sınıf tarafından daha fazla genişletilmemesini istiyorsak anahtar kelimeyi kullanabiliriz. Son sınıf adı ile.
Aşağıdaki örnekte Stone sınıfı Final'dir ve genişletilemez
public Final Class Stone { // Class methods and Variables }
53) Korumalı Erişim belirtecinin erişim kapsamı nedir?
Bir yöntem veya değişken Korumalı erişim belirticisiyle bildirildiğinde, aynı sınıftan, aynı paketteki herhangi bir sınıftan ve ayrıca bir alt sınıftan erişilebilir hale gelir.
Niteleyici | Sınıf | paket | Alt sınıf | Dünya |
---|---|---|---|---|
halka açık | Y | Y | Y | Y |
korumalı | Y | Y | Y | N |
değiştirici yok | Y | Y | N | N |
özel | Y | N | N | N |
54) Stack ve Queue arasındaki fark nedir?
Yığın ve Kuyruk, veri koleksiyonu için yer tutucu olarak kullanılır. Yığın ile kuyruk arasındaki temel fark, yığının Son Giren İlk Çıkar (LIFO) ilkesine dayalı olması, kuyruğun ise FIFO (İlk Giren İlk Çıkar) ilkesine dayanmasıdır.
55) Java'da değişkenlerin serileştirilmesine nasıl izin veremeyiz?
Bir sınıfın belirli değişkenlerinin serileştirilmemesini istiyorsak anahtar kelimeyi kullanabiliriz. geçici bunları beyan ederken. Örneğin, aşağıdaki trans_var değişkeni geçici bir değişkendir ve serileştirilemez:
public class transientExample { private transient trans_var; // rest of the code }
56) İlkel veri türlerini nesne olarak nasıl kullanabiliriz?
İnt gibi ilkel veri türleri, ilgili sarmalayıcı sınıfları kullanılarak nesneler olarak ele alınabilir. Örneğin, Integer, int ilkel veri türü için bir sarmalayıcı sınıftır. Tıpkı diğer nesneler gibi sarmalayıcı sınıfına da farklı yöntemler uygulayabiliriz.
57) Derleme zamanında hangi tür istisnalar yakalanır?
İşaretlenen istisnalar programın derlenmesi sırasında yakalanabilir. Kodun başarılı bir şekilde derlenebilmesi için, işaretlenen istisnaların koddaki try catch bloğu kullanılarak ele alınması gerekir.
58) Bir iş parçacığının farklı durumlarını tanımlayın.
Bir iş parçacığı Java Aşağıdaki durumlardan herhangi birinde olabilir:
- Hazır: Bir iş parçacığı oluşturulduğunda Hazır durumdadır.
- Çalışıyor: Yürütülmekte olan bir iş parçacığı çalışma durumundadır.
- Bekliyor: Başka bir iş parçacığının belirli kaynakları serbest bırakmasını bekleyen bir iş parçacığı bekleme durumundadır.
- Ölü: Çalıştırıldıktan sonra ölen bir iş parçacığı ölü durumdadır.
59) Açık bir kurucu tanımlanmış olsa bile bir sınıfın varsayılan kurucusunu kullanabilir miyiz?
Java açık bir kurucu tanımlanmamışsa, varsayılan bir bağımsız değişken oluşturucusu sağlar. Java sınıf. Ancak açık bir kurucu tanımlanmışsa, varsayılan kurucu çağrılamaz ve geliştirici yalnızca sınıfta tanımlanan kurucuları kullanabilir.
60) Aynı yöntem adını ve argümanlarını ancak farklı dönüş türlerini kullanarak bir yöntemi geçersiz kılabilir miyiz?
Yöntem geçersiz kılmanın temel koşulu, yöntem adının, argümanlarının ve dönüş türünün geçersiz kılınan yönteminkiyle tamamen aynı olması gerektiğidir. Dolayısıyla farklı bir dönüş türü kullanmak, bir yöntemi geçersiz kılmaz.
61) Aşağıdaki kod parçasının çıktısı ne olur?
public class operatorExample { public static void main(String args[]) { int x = 4; system.out.println(x++); } }
Bu durumda, önce değeri döndüren ve ardından artanları belirten postfix ++ operatörü kullanılır. Dolayısıyla çıktısı 4 olacaktır.
61) Bir kişi, içinde bir ana yöntem bile olmadan bir Java sınıfını başarıyla derlediğini söylüyor? Bu mümkün mü?
ana yöntem bir giriş noktasıdır Java sınıftır ve programın yürütülmesi için gereklidir; bir sınıf, ana yöntemi olmasa bile başarıyla derlenir. Ancak çalıştırılamaz.
62) Statik olmayan bir yöntemi statik bir yöntemin içinden çağırabilir miyiz?
Statik olmayan yöntemler bir sınıfın nesnelerine aittir ve nesne düzeyinde kapsama sahiptir ve Statik olmayan yöntemleri statik bir bloktan (statik bir ana yöntem gibi) çağırmak için önce sınıfın bir nesnesinin oluşturulması gerekir. Daha sonra nesne referansı kullanılarak bu yöntemler çağrılabilir.
63) Herhangi bir programı çalıştırmak için ayarlanması gereken iki ortam değişkeni nelerdir? Java programlar?
Java Programlar yalnızca aşağıdaki iki ortam değişkeni düzgün bir şekilde ayarlandığında bir makinede çalıştırılabilir:
- PATH değişkeni
- CLASSPATH değişkeni
64) Değişkenler kullanılabilir mi? Java başlatma olmadan?
In Java, eğer bir değişken bir kodda geçerli bir değerle önceden başlatılmadan kullanılırsa, program derlenmez ve değişkenlere varsayılan değer atanmadığından hata verir. Java.
65) Bir sınıfa girebilir miyim? Java birden fazla sınıftan miras alınabilir mi?
In JavaBir sınıf birden fazla sınıftan türetilemez, yalnızca bir sınıftan türetilebilir. Çoklu kalıtımlar tarafından desteklenmez Java.
66) Bir kurucunun adı sınıf adından farklı olabilir mi? Java?
Oluşturucu Java Sınıf adıyla aynı isme sahip olmalı ve eğer isim farklıysa yapıcı görevi görmez ve derleyici bunu normal bir yöntem olarak düşünür.
67) Round(3.7) ve Ceil(3.7)'nin çıktısı ne olacaktır?
Round(3.7) 4 değerini döndürür ve Tavan(3.7) 4 değerini döndürür.
68) Goto'yu kullanabilir miyiz? Java belirli bir hatta gitmek için?
In Java, goto anahtar kelimesi yoktur ve Java belirli etiketli satıra gitme özelliğini desteklemez.
69) Ölü bir iş parçacığı yeniden başlatılabilir mi?
Java'da ölü durumdaki bir iş parçacığı yeniden başlatılamaz. Ölü bir iş parçacığını yeniden başlatmanın bir yolu yoktur.
70) Aşağıdaki sınıf bildirimi doğru mudur?
public abstract final class testClass { // Class methods and variables }
Cevap: Yukarıdaki sınıf bildirimi yanlıştır çünkü soyut bir sınıf Final olarak bildirilemez.
71) Bir makineyi çalıştırmak için her makinede JDK gerekli midir? Java program?
JDK, geliştirme kitidir Java ve yalnızca geliştirme ve çalıştırma için gereklidir Java programı bir makinede çalıştırdığınızda JDK gerekli değildir. Yalnızca JRE gereklidir.
72) Eşittir yöntemiyle yapılan karşılaştırma ile == operatörü arasındaki fark nedir?
In Java, equals() metodu iki string nesnesinin içeriklerini karşılaştırmak için kullanılır ve ikisi aynı değere sahipse true değerini döndürürken, == operatörü iki string nesnesinin referanslarını karşılaştırır.
Aşağıdaki örnekte, equals() iki dize nesnesi aynı değerlere sahip olduğundan true değerini döndürür. Ancak == operatörü her iki dize nesnesi farklı nesnelere başvurduğundan false değerini döndürür:
public class equalsTest { public static void main(String args[]) { String str1 = new String("Hello World"); String str2 = new String("Hello World"); if (str1.equals(str2)) { // this condition is true System.out.println("str1 and str2 are equal in terms of values"); } if (str1 == str2) { //This condition is true System.out.println("Both strings are referencing same object"); } else { // This condition is NOT true System.out.println("Both strings are referencing different objects"); } } }
73) Bir yöntemi tanımlamak mümkün mü? Java class ama bunun C gibi başka bir dilin kodunda uygulanmasını sağlıyor musunuz?
Evet, bunu yerel yöntemler kullanarak yapabiliriz. Yerel yöntem tabanlı geliştirme durumunda, genel statik yöntemleri tanımlıyoruz. Java sınıf uygulaması olmadan ve daha sonra uygulama C gibi başka bir dilde ayrı ayrı yapılır.
74) Yıkıcılar nasıl tanımlanır? Java?
In Java, buna gerek olmadığından sınıfta tanımlanmış hiçbir yıkıcı yoktur. Java Artık referans verilmediğinde nesneleri yok ederek işi otomatik olarak yapan kendi çöp toplama mekanizmasına sahiptir.
Java 5+ Yıllık Deneyim için Mülakat Soruları ve Cevapları
75) Bir değişken aynı anda hem yerel hem de statik olabilir mi?
Hiçbir değişken aynı anda hem statik hem de yerel olamaz. Yerel bir değişkenin statik olarak tanımlanması derleme hatası verir.
76) Bir Arayüzde statik yöntemlere sahip olabilir miyiz?
Bir arayüzdeki herhangi bir yöntem varsayılan olarak soyuttur ve arayüzü uygulayan sınıflarda uygulanması beklenirken, statik yöntemler hiçbir sınıfta geçersiz kılınamaz. Dolayısıyla bir arayüzde statik yöntemlere sahip olmanın bir anlamı yok Java.
77) Arayüz uygulayan bir sınıfta, arayüzde tanımlanan herhangi bir değişkenin değerini değiştirebilir miyiz?
Hayır, arayüzde tanımlanan tüm değişkenler varsayılan olarak public, static ve Final olduğundan ve final değişkenleri daha sonra değiştirilemeyen sabitler gibi olduğundan, arayüzün herhangi bir değişkeninin değerini uygulayıcı sınıfta değiştiremeyiz.
78) Çöp toplama özelliğinden dolayı bunu söylemek doğru mudur? Java, bir java programı hiçbir zaman hafızadan yer kaplamaz mı?
Otomatik çöp toplama işlemi tarafından sağlansa da Java, bunu garanti etmez Java oluşturulma olasılığı olduğundan programın hafızası dolmayacaktır. Java nesneler, çöp toplamaya kıyasla daha hızlı bir şekilde gerçekleştirilmekte ve bu da mevcut tüm bellek kaynaklarının doldurulmasına neden olmaktadır.
Dolayısıyla çöp toplama, bir programın hafızasının dolma olasılığını azaltmaya yardımcı olur ancak bunu garanti etmez.
79) Ana yöntem için void dışında başka bir dönüş tipine sahip olabilir miyiz?
Hayır, Java sınıfın ana yöntemi, programın başarıyla yürütülmesi için yalnızca geçersiz dönüş türüne sahip olabilir.
Bununla birlikte, main metodunun sonunda mutlaka bir değer döndürmeniz gerekiyorsa, System.exit(int status) komutunu kullanabilirsiniz.
80) Çöp toplandıktan sonra bir nesneye tekrar ulaşıp onu kullanmak isterim. Nasıl mümkün olabilir?
Bir nesne çöp toplayıcı tarafından yok edildiğinde artık yığında mevcut değildir ve ona tekrar erişilemez. Tekrar başvurmanın bir yolu yok.
81) İçinde Java iş parçacığı programlama, hangi yöntem tüm iş parçacıkları için zorunlu bir uygulamadır?
Run(), tüm iş parçacıkları tarafından uygulanması gereken, Çalıştırılabilir bir arayüz yöntemidir.
82) Programımdaki veritabanı bağlantılarını kontrol etmek istiyorum ve aynı anda yalnızca bir iş parçacığının veritabanı bağlantısı yapabilmesini istiyorum. Bu mantığı nasıl uygulayabilirim?
Cevap: Bu, senkronizasyon kavramı kullanılarak uygulanabilir. Veritabanıyla ilgili kod, hs'li bir yönteme yerleştirilebilir. senkronize anahtar kelimeyi kullanarak aynı anda yalnızca bir iş parçacığının erişebilmesini sağlayın.
83) Bir programcı tarafından manuel olarak nasıl bir istisna atılabilir?
Bir kod bloğuna manuel olarak bir istisna atmak için, atmak anahtar kelime kullanılır. Daha sonra bu istisna catch bloğunda yakalanır ve işlenir.
public void topMethod() { try { excMethod(); } catch (ManualException e) {} } public void excMethod { String name = null; if (name == null) { throw (new ManualException("Exception thrown manually "); } }
84) Sınıfımın, başka hiçbir sınıfın (türetilmiş sınıf bile) kendi nesnelerini yaratamayacağı şekilde geliştirilmesini istiyorum. Bunu nasıl yapabilirim?
Bir sınıfın yapıcısını özel olarak bildirirsek, ona başka bir sınıf erişemeyecek ve dolayısıyla başka hiçbir sınıf onu örnekleyemeyecek ve nesnesinin oluşumu yalnızca kendisiyle sınırlı olacaktır.
85) Nesneler nasıl saklanır? Java?
Java'da her nesne yaratıldığında bir yığından bir bellek alanı alır. Bir nesne çöp toplayıcı tarafından yok edildiğinde, yığından ona ayrılan alan yığına yeniden tahsis edilir ve yeni nesneler için kullanılabilir hale gelir.
86) Yığındaki bir nesnenin gerçek boyutunu nasıl bulabiliriz?
Java'da yığındaki bir nesnenin tam boyutunu bulmanın bir yolu yoktur.
87) Aşağıdaki sınıflardan hangisine daha fazla bellek ayrılır?
A Sınıfı: Üç yöntem, dört değişken, nesne yok
Sınıf B: Beş yöntem, üç değişken, nesne yok
Nesnelerin oluşturulmasından önce bellek tahsis edilmez. Her iki sınıf için de hiçbir nesne yaratılmadığından, herhangi bir sınıf için yığında bellek ayrılmamıştır.
88) Bir programda bir istisna işlenmezse ne olur?
Bir istisna, try-catch blokları kullanılarak bir programda işlenmezse, program sonlandırılır ve istisna fırlatılmasına neden olan ifadeden sonra hiçbir ifade yürütülmez.
89) Bir sınıfta tanımlanmış birden fazla kurucum var. Bir yapıcıyı başka bir yapıcının gövdesinden çağırmak mümkün mü?
Bir sınıfın birden fazla kurucusu varsa, bir kurucuyu diğerinin gövdesinden kullanarak çağırmak mümkündür. Bu().
90) Anonim sınıf ne anlama geliyor?
Anonim sınıf, new anahtar sözcüğü kullanılarak tek bir kod satırında herhangi bir isim olmadan tanımlanan sınıftır.
Örneğin, aşağıdaki kodda, bir kod satırında anonim bir sınıf tanımladık:
public java.util.Enumeration testMethod() { return new java.util.Enumeration() { @Override public boolean hasMoreElements() { // TODO Auto-generated method stub return false; } @Override public Object nextElement() { // TODO Auto-generated method stub return null; } }
91) Bir dizinin boyutunu bildirildikten sonra arttırmanın bir yolu var mı?
Diziler statiktir ve boyutunu belirledikten sonra değiştiremeyiz. Boyut değişikliği (öğe sayısı) gerektirebilecek bu tür koleksiyonları kullanmak istiyorsak, dizi yerine vektörü tercih etmeliyiz.
92) Bir uygulamanın içinde birden fazla sınıf varsa, birden fazla sınıfta bir ana yöntemin bulunması uygun mudur?
Bir Java uygulamasında birden fazla sınıfta ana yöntem varsa, herhangi bir uygulamanın giriş noktası belirli bir sınıf olacağından ve kod yalnızca o sınıfın ana yönteminden başlayacağından herhangi bir soruna neden olmaz.
93) Nesnelerin verilerini daha sonraki kullanım için kalıcı hale getirmek istiyorum. Bunu yapmanın en iyi yaklaşımı nedir?
Verileri gelecekte kullanmak üzere kalıcı hale getirmenin en iyi yolu serileştirme kavramını kullanmaktır.
94) Yerel sınıf nedir? Java?
In JavaBelirli bir bloğun içinde yeni bir sınıf tanımlarsak buna yerel sınıf denir. Böyle bir sınıfın yerel kapsamı vardır ve tanımlandığı bloğun dışında kullanılamaz.
95) İp ve TelBuffer her ikisi de String nesnelerini temsil eder. String ve String'i karşılaştırabilir miyiz?Buffer in Java?
Her ne kadar Dize ve DizeBuffer her ikisi de String nesnelerini temsil ediyor, birbirleriyle karşılaştıramıyoruz ve karşılaştırmaya çalıştığımızda hata alıyoruz.
96) Hangi API tarafından sağlanıyor? Java Nesne kümeleri üzerinde işlemler için?
Java bir dizi nesneye uygulanabilecek birçok yararlı yöntem sağlayan bir Koleksiyon API'si sağlar. Koleksiyon API'si tarafından sağlanan önemli sınıflardan bazıları ArrayList, HashMap, TreeSet ve TreeMap'tir.
97) Type cast ile Boolean Type'a başka bir tip çevirebilir miyiz?
Hayır, ne başka bir ilkel türü Boolean veri türüne çevirebiliriz ne de Boolean veri türünü başka herhangi bir ilkel veri türüne dönüştürebiliriz.
98) Override edildiğinde metodlar için farklı dönüş tipleri kullanabilir miyiz?
Yöntem geçersiz kılmanın temel gereksinimi Java geçersiz kılınan yöntemin aynı ada ve parametrelere sahip olması gerekir. Ancak yeni dönüş türü orijinali genişlettiği sürece bir yöntem farklı bir dönüş türüyle geçersiz kılınabilir.
Örneğin, yöntem bir başvuru türü döndürüyor.
Class B extends A { A method(int x) { //original method } B method(int x) { //overridden method } }
99) Tüm istisna sınıflarının temel sınıfı nedir?
In Java, Java.lang.Throwable
tüm istisna sınıflarının süper sınıfıdır ve tüm istisna sınıfları bu temel sınıftan türetilir.
100) Mirasta kurucuların çağrılma sırası nedir?
Kalıtım durumunda, türetilmiş bir sınıfın yeni bir nesnesi oluşturulduğunda, önce süper sınıfın yapıcısı çağrılır, sonra türetilmiş sınıfın yapıcısı çağrılır.
İş Görüşmenize Hazırlık!!! Geçmek Java Klavuz daha iyi hazırlanmak için.
Bu ayrıntılı Java Mock Test Quiz, aşağıdaki şüpheleri gidermenize yardımcı olacaktır: Java röportaj soruları ve ayrıca röportajı çözmenize yardımcı olacaktır.
Bunlar Java ve Java 8 röportaj sorusu aynı zamanda viva(sözlü konuşma) konusunda da yardımcı olacaktır