-
"جڙڻ"
public static void main(String args[])
.هڪ مشهور جاوا انٽرويو سوالن لاءِ تازو، ۽ تمام آسان.
-
public
هڪ رسائي ترميمي آهي. اسان ان کي استعمال ڪريون ٿا هن طريقي جي رسائي جي وضاحت ڪرڻ لاءِ. هتي ترميم ڪندڙ آهي "عوامي"، تنهنڪري ڪنهن به طبقي کي هن طريقي تائين رسائي آهي. -
static
. هن جاوا لفظ جو مطلب آهي ته اسان هي طريقو استعمال ڪندا آهيون بغير ڪنهن ڪلاس جو نئون Object ٺاهي. -
Void
واپسي جو طريقو آهي. ان جو مطلب اهو آهي ته طريقو ڪنهن به قدر واپس نٿو ڪري. -
main
طريقو جو نالو آهي. JVM "ڄاڻي ٿو" ان کي ايپليڪيشن ۾ داخلا پوائنٽ جي طور تي (ان کي هڪ خاص دستخط هجڻ گهرجي).Main
هڪ طريقو آهي جتي مکيه عمل ٿئي ٿي. -
String args[]
. هي اهو پيٽرولر آهي جيڪو مکيه طريقي سان منظور ڪيو ويو آهي. هتي اسان وٽ String قسم جا دليل آهن جيڪي توهان جي جاوا ايپليڪيشن قبول ڪري ٿي جڏهن توهان ان کي هلائيندا آهيو. توھان انھن کي ٽرمينل تي ٽائيپ ڪري سگھو ٿا.
-
-
equals()
۽ جي وچ ۾ ڇا فرق آهي==
؟پهريون، "
==
" هڪ آپريٽر آهي جڏهن تهequals()
هڪ طريقو آهي. اسان==
آپريٽر استعمال ڪندا آهيون حوالن جي مقابلي لاءِ (يا ايڊريس موازن) ۽equals()
طريقو مواد جي مقابلي لاءِ. ان جو مطلب اهو آهي ته==
چيڪ ڪري ٿو ته ٻئي شيون ساڳئي ميموري جي جڳهه ڏانهن اشارو ڪن ٿا جڏهن تهequals()
شين ۾ قدرن جي ڀيٽ ۾. -
ڇا اسان بغير طريقي جي پروگرام تي عمل ڪري سگھون ٿا
main()
؟ڪيترائي جاوا بنيادي انٽرويو سوال واقعي آسان آهن. هن وانگر. تنهنڪري مختصر جواب آهي: ها، اسان ڪري سگهون ٿا. مثال طور اسان اهو ڪري سگهون ٿا جامد بلاڪ استعمال ڪندي.
توھان استعمال ڪري سگھوٿا جامد بلاڪ جامد ڊيٽا ميمبر کي شروع ڪرڻ لاءِ. اهو
main
طريقو کان اڳ، ڪلاس لوڊ ڪرڻ جي وقت تي عمل ڪيو ويندو آهي.class Example{ Static{ System.out.println("static block is invoked"); } public static void main(String args[]){ System.out.println("Now main method"); } }
پيداوار آهي:
static block is invoked Now main method
مڪمل مکيه طريقي جي غير موجودگي بابت ڇا؟ جيڪڏهن توهان بنيادي طريقي جي بغير ڪنهن عام ڪلاس کي هلائڻ جي ڪوشش ڪندا آهيو، توهان کي ايندڙ غلطي ملي ٿي: مکيه طريقو ڪلاس ٽيسٽ ۾ نه مليو، مهرباني ڪري مکيه طريقي جي وضاحت ڪريو جيئن: عوامي جامد باطل مکيه (String [] args) يا JavaFX ايپليڪيشن ڪلاس کي وڌائڻ گهرجي javafx.application.Application. غلطي پاڻ چوي ٿي ته جيڪڏهن هي هڪ JavaFX ايپليڪيشن آهي ۽ ڪلاس javafx.application.Application مان ورثي ۾ مليل آهي، ته اهو ممڪن آهي.
-
اعتراض ڇا آهي
immutable
؟ ڇا توهانimmutable
اعتراض ٺاهي سگهو ٿا؟توھان انھن جي ٺاھڻ کان پوء ھڪڙي طبقي جي شين کي تبديل نٿا ڪري سگھو
immutable
. تنهن ڪري هڪ دفعو توهان انهن کي ٺاهيو، توهان انهن کي تبديل نٿا ڪري سگهو. جيڪڏهن توهانImmutable
اعتراض کي تبديل ڪرڻ جي ڪوشش ڪندا آهيو ته توهان هڪ نئون اعتراض (ڪلون) حاصل ڪندا آهيو ۽ هن ڪلون کي ٺاھڻ دوران تبديل ڪريو.ھڪڙو سٺو مثال آھي
String
، اھوimmutable
جاوا ۾ آھي. ان جو مطلب آهي ته توهان اعتراض کي تبديل نه ٿا ڪري سگهو، پر توهان اعتراض جي حوالي سان تبديل ڪري سگهو ٿا. -
هيٺ ڏنل ڪوڊ ۾ ڪيتريون شيون ٺهيل آهن؟
جاوا ٽيڪنيڪل انٽرويو سوالن مان هڪ جيڪو متبادل ڪري ٿو #4.
String s1="Hello"; String s2="Hello"; String s3="Hello";
جواب آهي ”صرف هڪ“ ڇاڪاڻ ته جاوا وٽ اسٽرنگ پول آهي. جڏهن اسان نئين () آپريٽر کي استعمال ڪندي هڪ String آبجیکٹ ٺاهيندا آهيون، اهو هيپ ميموري ۾ هڪ نئون اعتراض ٺاهيندو آهي. جيڪڏهن اسان String لفظي نحو استعمال ڪندا آهيون، جهڙوڪ اسان جي مثال ۾، اهو شايد موجوده اعتراض کي واپس ڪري سگهي ٿو String پول مان، جيڪڏهن اهو اڳ ۾ ئي موجود آهي.
-
هيٺ ڏنل ڪوڊ ۾ ڪيتريون شيون ٺهيل آهن؟
String s = new String("Hello");
اتي 2 شيون آهن. هڪ آهي تار مسلسل تلاءَ ۾ (جيڪڏهن اڳ ۾ ئي موجود نه هجي) ۽ ٻيو ڍير ۾ آهي.
-
جاوا ۾ ڪلاس ۽
String
ڪلاسن ۾ ڇا فرق آهي ؟StringBuilder
StringBuffer
مٿين جاوا انٽرويو سوالن ۾ هڪ اڳواڻ آهي.
سڀ کان پهريان
String
هڪ ناقابل قابل ڪلاس آهي. ان جو مطلب آهي ته توهان ان جي مواد کي هڪ ڀيرو ٺاهي نه ٿا سگهو. جڏهن تهStringBuffer
۽StringBuilder
تبديل ٿيندڙ ڪلاس آهن، تنهنڪري توهان انهن کي بعد ۾ تبديل ڪري سگهو ٿا. جيڪڏهن اسانString
اعتراض جي مواد کي تبديل ڪريون ٿا، اهو هڪ نئون اسٽرنگ ٺاهي ٿو، تنهنڪري اهو اصل ۾ تبديل نٿو ڪري. اهو ئي سبب آهي ته ڪارڪردگي سان گڏStringBuffer
کان بهتر آهيString
.وچ ۾ بنيادي فرق
StringBuffer
۽StringBuilder
انStringBuffer
جي طريقن کي هم وقت سازي ڪئي وئي آهي جڏهن تهStringBuilder
's نه آهن. -
ڇا ان ۾ ڪو فرق آھي
String
جيڪو لفظي استعمال ڪندي ٺاھيو ويو ھو ۽new()
آپريٽر سان؟هتي آهي. جيڪڏهن اسان آپريٽر سان هڪ اسٽرنگ ٺاهيندا آهيون
new()
، اهو ظاهر ٿئي ٿو هيپ ۽ اسٽرنگ پول ۾ (جيڪڏهن اڳ ۾ موجود ناهي). جيڪڏھن توھان ٺاھيوString
ھڪڙو لفظي استعمال ڪندي، اھو ٺاھيو ويو اسٽرنگ پول ۾ (جيڪڏھن اڳ ۾ موجود نه آھي). هڪ اسٽرنگ پول ڍير جي اندر هڪ اسٽوريج علائقو آهي، جيڪو اسٽرنگ لٽرلز کي ذخيرو ڪري ٿو. -
ڇا توھان جاوا ۾ اوور رائيڊ
private
يا طريقو ڪري سگھو ٿا؟static
روڪيز لاءِ جاوا ٽرڪي انٽرويو سوالن مان هڪ.
private
توهان واقعي جاوا ۾ اوور رائڊ ياstatic
طريقو نٿا ڪري سگهو .توھان طريقن کي ختم نٿا ڪري سگھو
private
ڇو ته نجي رسائي جي وضاحت ڪندڙ جو دائرو صرف ڪلاس جي اندر آھي. جڏهن توهان ڪجهه اوور رائيڊ ڪرڻ وارا آهيو، اسان کي والدين ۽ ٻار جو طبقو هجڻ گهرجي. جيڪڏهن سپر ڪلاس جو طريقو آهيprivate
، چائلڊ ڪلاس ان کي استعمال نٿو ڪري سگهي، ۽ چائلڊ ڪلاس ۾ طريقن کي نون طريقن طور سمجهيو ويندو (اوور رائڊ نه ڪيو ويو).Static
طريقن کي به ختم نٿو ڪري سگهجي، ڇاڪاڻ تهstatic
طريقا پاڻ طبقي جو حصو آهن، ۽ طبقي جي ڪنهن به شيء جو حصو نه آهن. يقينن توهانstatic
ٻارن جي طبقن ۾ ساڳي دستخط سان ساڳي طريقي جو اعلان ڪري سگهو ٿا، پر ٻيهر، انهن کي نئين طريقن وانگر سمجهيو ويندو. -
وچ ۾ فرق
Abstract Class
۽Interface
مشهور جاوا ڊولپر انٽرويو سوالن مان هڪ آهي جيڪو OOP اصولن تي ڀاڙي ٿو. سڀ کان پهريان، جاوا ۾
interface
هڪ رويي کي بيان ڪري ٿو ۽abstract class
ترتيب ڏئي ٿو.خلاصو طبقو انٽرفيس اهو ممڪن آهي ته هڪ طريقو جسم (غير تجريدي طريقا) تجريدي طبقي ۾ انٽرفيس ۾ صرف تجريدي طريقا ٿي سگھن ٿا. جاوا 8 يا جديد ۾، اهو ممڪن ٿيو ته ڊفالٽ طريقن کي بيان ڪرڻ ۽ انهن کي سڌو سنئون انٽرفيس ۾ لاڳو ڪرڻ. پڻ، جاوا 8 ۾ انٽرفيس جامد طريقا ٿي سگھن ٿا. مثال متغير خلاصي طبقي ۾ ٿي سگھي ٿو هڪ انٽرفيس مثالي متغير نه ٿي سگھي. ٺاهيندڙن کي اجازت آهي انٽرفيس ۾ ڪو به ٺاھڻ وارو نه آھي. جامد طريقن جي اجازت آهي جامد طريقن جي اجازت نه آهي ڪلاس صرف هڪ خلاصو والدين ٿي سگهي ٿو ھڪڙو انٽرفيس مختلف طبقن کي لاڳو ڪري سگھي ٿو خلاصو طبقو مهيا ڪري سگھي ٿو انٽرفيس تي عمل درآمد. انٽرفيس خلاصي طبقي جي نفاذ کي مهيا نٿو ڪري سگهي. هڪ خلاصي طبقي کي اجازت آهي ته ٻئي جاوا ڪلاس کي وڌائڻ ۽ ڪيترن ئي جاوا انٽرفيس کي لاڳو ڪرڻ. هڪ انٽرفيس کي اجازت آهي ته ٻئي جاوا انٽرفيس کي وڌايو وڃي. جاوا خلاصو ڪلاس خانگي ۽ محفوظ طبقي جا ميمبر ٿي سگھن ٿا جاوا انٽرفيس جا ميمبر ڊفالٽ طور عوامي آھن -
ڇا اسان ڪلاس
static
۾ متغير ۽ طريقن جو اعلان ڪري سگھون ٿاabstract
؟ها، اهو ممڪن آهي ته
static
متغيرن ۽ طريقن کيabstract
طريقن ۾ بيان ڪرڻ. جامد حوالن تائين رسائي حاصل ڪرڻ لاءِ اعتراض ڪرڻ جي ڪا ضرورت ناهي. تنهنڪري اسان کي اجازت ڏني وئي آهي ته ڪلاس جي اندر اعلان ڪيل جامد حوالي سان ڪلاسabstract
جو نالو استعمال ڪنديabstract
. -
JVM پاران ڪهڙي قسم جي ياداشت وارا علائقا مختص ڪيا ويا آهن؟
ڪلاس ايريا اسٽور پرڪلاس ڍانچي، مثال طور، رن ٽائم مسلسل پول، فيلڊز، طريقي جي ڊيٽا، ۽ طريقن لاء سڀئي ڪوڊ.
هيپ هڪ رن ٽائم ڊيٽا جو علائقو آهي جتي ميموري کي مختص ڪيو ويو آهي شيون.
اسٽيڪ اسٽور فريم. اهو مقامي متغير ۽ جزوي نتيجن تي مشتمل آهي، ۽ طريقي جي دعوت ۽ واپسي ۾ حصو وٺندو آهي. هر سلسلي ۾ هڪ خانگي JVM اسٽيڪ آهي، هڪ ئي وقت تي ٺهيل آهي جيئن موضوع. ھڪڙو نئون فريم ٺاھيو ويندو آھي ھر دفعي ھڪڙي طريقي کي سڏيو ويندو آھي. هڪ فريم تباهه ٿي ويندو آهي جڏهن ان جي طريقي جي دعوت مڪمل ٿئي ٿي.
پروگرام ڪائونٽر رجسٽر ۾ جاوا ورچوئل مشين جي ھدايت جو پتو شامل آھي جيڪو ھن وقت جاري ڪيو پيو وڃي.
Native Method Stack ۾ اهي سڀئي اصلي طريقا شامل آهن جيڪي ايپليڪيشن ۾ استعمال ڪيا ويا آهن.
-
جاوا ۾ گهڻن ورثي جي اجازت ڇو نه آهي؟
اهو واقعي پيچيده هوندو. تصور ڪريو ٽن طبقن
A
،B
۽C
۽C
وارثA
۽B
. ھاڻي،A
۽B
ڪلاسن جو ھڪڙو ئي طريقو آھي ۽ توھان ان کي چائلڊ ڪلاس اعتراض مان سڏيندا آھيو... ڪھڙو؟A
جي ياB
جي؟ هتي اسان وٽ ابهام آهي.جيڪڏهن توهان ٻن طبقن جا وارث ٿيڻ جي ڪوشش ڪندا آهيو جاوا رينڊر مرتب وقت جي غلطي.
-
ڇا اسان
main()
طريقي سان اوور لوڊ ڪري سگھون ٿا؟main
يقينا، اسان کي اجازت ڏني وئي آهي جاوا پروگرام ۾ ڪيترائي طريقا استعمال ڪندي طريقي سان اوورلوڊنگ. ان کي آزمائي ڏس! -
ڇا اسان ھڪڙي ٺاھيندڙ جو اعلان ڪري سگھون ٿا
final
؟نه. هڪ تعمير ڪندڙ کي قرار نه ٿو ڏئي سگهجي
final
ڇاڪاڻ ته اهو وراثت نه ٿو ٿي سگهي. تنهن ڪري تعمير ڪندڙن کي قرار ڏيڻ بي معنيٰ آهيfinal
. بهرحال، جيڪڏهن توهان اهو ڪرڻ جي ڪوشش ڪئي، جاوا ڪمپلر توهان کي هڪ غلطي اڇلائي ٿو. -
ڇا اسان انٽرفيس جو اعلان ڪري سگھون ٿا
final
؟نه، اسان اهو نٿا ڪري سگهون. هڪ انٽرفيس نٿو ٿي سگهي
final
ڇاڪاڻ ته انٽرفيس کي ان جي تعريف مطابق ڪجهه طبقي طرفان لاڳو ڪيو وڃي. تنهن ڪري، انٽرفيس ٺاهڻ جو ڪو احساس ناهيfinal
. بهرحال، جيڪڏهن توهان ائين ڪرڻ جي ڪوشش ڪندا، مرتب ڪندڙ هڪ غلطي ڏيکاريندو. -
static binding
۽ جي وچ ۾ ڇا فرق آهيdynamic binding
؟جنهن
binding
کي مرتب ڪرڻ واري وقت تي حل ڪري سگهجي ٿو، ان کي چئبو آهيstatic
ابتدائي بائنڊنگ.Binding
سڀني جيstatic
،private
۽final
طريقن سان گڏ ڪيل وقت تي ڪيو ويندو آهي.ڪمپيلر ۾
Dynamic binding
ڪو طريقو نه چونڊيو وڃي ٿو سڏيو وڃي. Overriding جو هڪ مثالي مثال آهيdynamic binding
. اوور رائيڊنگ ۾ والدين ۽ ٻار ٻنهي طبقن جو ساڳيو طريقو آهي.Static Binding class Cat{ private void talk() {System.out.println("cat is mewing..."); } public static void main(String args[]){ Cat cat=new Cat(); cat.talk(); } } Dynamic Binding class Animal{ void talk(){ System.out.println("animal is talking..."); } } class Cat extends Animal{ void talk(){ System.out.println("cat is talking..."); } public static void main(String args[]){ Animal animal=new Cat(); animal.talk(); } }
-
جاوا ۾ صرف پڙهڻ لاءِ ڪلاس ڪيئن ٺاهيو؟
توھان اھو ڪري سگھوٿا ڪلاس جي سڀني شعبن کي پرائيويٽ ڪرڻ سان. صرف پڙهيل طبقي وٽ صرف حاصل ڪرڻ وارا طريقا آهن جيڪي طبقي جي ذاتي ملڪيت کي واپس طريقي سان واپس آڻيندا آهن
main
. توھان ھن ملڪيت کي تبديل ڪرڻ جي قابل نه آھيو، ان جو سبب آھي سيٽرز جو طريقو.public class HockeyPlayer{ private String team ="Maple leaf"; public String getTeam(){ return team; } }
-
جاوا ۾ صرف لکڻ جو ڪلاس ڪيئن ٺاهيو؟
ٻيهر، توهان کي سڀني طبقي جي شعبن کي ٺاهڻ گهرجي
private
. هاڻي، توهان جي لکڻ جي صرف ڪلاس ۾ صرف سيٽر طريقا هجڻ گهرجن ۽ نه حاصل ڪرڻ وارا. تنهن ڪري، اسان طبقي جي ملڪيتن کي نه پڙهي سگهون ٿا.public class HockeyPlayer{ private String team; public void setTeam(String college){ this.team = team; } }
-
هر
try
بلاڪ جي پٺيان هڪ بلاڪ هجڻ گهرجيcatch
، اهو نه آهي؟نه. اهو هڪ ضرورت نه آهي. هر
try
بلاڪ بلاڪ کان سواء ٿي سگهي ٿوcatch
. اهو يا ته ڪيچ بلاڪ يا آخرڪار بلاڪ يا ان کان سواءِ به ٿي سگهي ٿو.public class Main{ public static void main(String []args){ try{ int variable = 1; System.out.println(variable/0); } finally { System.out.println("the other part of the program..."); } } }
پيداوار:
Exception in thread main java.lang.ArithmeticException:/ by zero the other part of the program...
هڪ وڌيڪ مثال:class Main { public static void main(String[] args) throws IOException { try(InputStreamReader inputStreamReader = new InputStreamReader(System.in); BufferedReader reader = new BufferedReader(inputStreamReader)){ System.out.println("test"); } } }
پيداوار:
test
پي ايس: جاوا کان اڳ 8 انٽرفيس ۾ طريقا صرف خلاصا ٿي سگھن ٿا. جاوا 8 يا جديد ۾، اهو ممڪن ٿيو ته ڊفالٽ طريقن کي بيان ڪرڻ ۽ انهن کي سڌو سنئون انٽرفيس ۾ لاڳو ڪرڻ. -
throw
لفظن ۽ لفظن جي وچ ۾ ڇا فرق آهيthrows
؟Throws
استعمال ڪيو ويندو آهي هڪ استثناء جو اعلان ڪرڻ لاء، تنهنڪري اهو ڪم ڪري ٿو بلاڪ وانگرtry-catch
.Throw
لفظ استعمال ڪيو ويندو آھي ھڪڙي استثناءَ کي واضح طور تي ھڪڙي طريقي يا ڪوڊ جي ڪنھن ٻئي بلاڪ مان.Throw
ڪلاس جي هڪ مثال جي پٺيان آهيException
۽ throws جي پٺيان آهي استثنا طبقي جا نالا.Throw
طريقو جسم ۾ استعمال ڪيو ويندو آهي استثنا اڇلائڻ لاء.Throws
استعمال ڪيو ويندو آھي ھڪڙي طريقي جي دستخط ۾ استثناء جو اعلان ڪرڻ لاءِ جيڪو ٿي سگھي ٿو طريقي ۾ موجود بيانن ۾.ان کي اجازت آهي ته هڪ وقت ۾ هڪ استثنيٰ اڇلائي پر توهان ڪيترن ئي استثنان کي سنڀالي سگهو ٿا انهن کي
throw
لفظ استعمال ڪندي اعلان ڪندي. توهان ڪيترن ئي استثنان جو اعلان ڪري سگهو ٿا، مثال طور،public void method()throws IOException
,SQLException
.
مٿيان 21 جاوا انٽرويو سوال
جاوا انٽرويو جا ڪيترائي سوال آهن ۽ اسان انهن سڀني کي هڪ مضمون ۾ گڏ نٿا ڪري سگهون. تنهن هوندي به هتي توهان ڳولي سگهو ٿا ڪجهه تمام عام جاوا انٽرويو سوالن جي مطابق، آئي ٽي ڪمپنين جي HR مينيجرز.
GO TO FULL VERSION