الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

اسئلتكم واستفساراتكم

مغلقرائج
بدأه علاء الصالحي في 8 نوفمبر 2008 · 958 رد · 57,657 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#651

إذا استعملت getClass، فإنك ستحصلين على true فقط في حالة كان otherObject من فئة Employee، أما إذا كان من فئة ترث من Employee أو أي فئة أخرى ستحصلين على false.

جربي هذا المثال ولاحظي النتيجة

class A {

	public void whoAreYou() {
		System.out.println("I am class A.");
	}
}

class B extends A {

	@Override
	public void whoAreYou() {
		System.out.println("I am class B.");
	}
}

public class NewClass2 {

	public static void main(String[] args) {
		A a1 = new A();
		A a2 = new A();
		B b = new B();
		System.out.println(a1.getClass() == a2.getClass());
		System.out.println(a1.getClass() == b.getClass());
	}
}
1
#652

الله يغفر لك و يوفقك دنيا وآخره ويرزقك الجنة ,

أعتذر والله على الإطالة :happy: ,

سبحآن الله وبحمده .. سبحآن الله العظيم .. ,

#653

ما هو قرارك؟ ماذا ستفعلين الآن؟

#654

بصراحه بصراحه , ما أدري ,

أهم شي عرفت وش تسوي getclass ومتى ترجع true أو false ,

وinstanceof ..

دعواتك يا حاج عصام :D ,

سبحآن الله وبحمده .. سبحآن الله العظيم .. ,

#655

بالتوفيق إن شاء الله.

#656

مممممممممممممم

عصام هل أنت متأكد أن هذا الشرط غير صحيح لكائنين من نفس الفئة class

Class1 a=new Class1();

Class1 b=new Class1();

a.getClass()==b.getClass()

لأنه فعلياً لا معنى لوجود أكثر من كائن من نفس الفئة فئة class Class

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#657

لم أفهم ماذا تعني.

الشرط صحيح، لأنهما ينتميان لنفس الفئة. وأيضا فإنه يوجد كائن واحد من فئة Class في الذاكرة، حتى ولو كان لدينا 100 كائن من فئة Class1، لذلك فإن getClass سواء نادينا عليها من a أو b ستعيد نفس الكائن.

ما قلته هو أن الشرط صحيح فقط إذا كان الكائنان من نفس الفئة، أما إذا كان كائن يرث من كائن إخر فالشرط ال يتحقق، وليس مثل instanceof التي تعيد true إذا كان الكائن من فئة ما أو أي فئة ترث منها.

#658

هناك طريقة (ملتوية) للقيام بذلك :lol:

ما رأيك بهذا السطر من الكود (إضافة إلى كود اأخ herch في أول الصفحة):

            System.out.println(a1.getClass() == b.getClass().getGenericSuperclass());

طبعاً تعمل هذه الطريقة فقط من أجل الأب المباشر (الأب الأول)

#659
  try{
          DefaultTableModel model=new DefaultTableModel();
          Vector v = new Vector();
          v.add("BOOKNAME");
          v.add("BOOKPRICE");
          v.add("BOOKYEAR");
          v.add("BOOKAUTOR");
          v.add("BOOKLANGUAGE");

          model.setColumnIdentifiers(v);

السوال الي يطرح ماهي وظيفة الامر التالي من هذا الكود يعني الغرض منه

          DefaultTableModel model=new DefaultTableModel();

طبعا انا عامل برنامج للبحث عن كتب

ويعطيك العافيه

#660

ال DefaultTableModel هو الذي يحتوي على البيانات، بينما JTable يقوم فقط بإظهار هاته البيانات.

#661

يبدو أني لم أكن في تركيزي

لأني لا أدري من أين استشفيت السؤال الذي سألتك :lol:

آسف على تعطيل عجلة العلم

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#662

طيب اخوي جزاك الله خير

عندي سوال اخير ماهي وظيفة الامر التالي:

StringBuffer

انا سمعت انه ذاكرة مؤقته هل صحيح ؟؟

#663

الفرق بين String و StringBuffer و StringBuilder؟؟

لا أدري ماذا تعني بذاكرة مؤقتة... StringBuffer تستعمل عندما تكون لدينا جملة قابلة للتغيير، حيث لا يجب استعمال String لأنها immutable.

مثلا هذا الكود غير جيد

String str = "This";
str += " is";
str += " bad.";

ويستحسن استعمال StringBuffer

StringBuffer strBuf = new StringBuffer("This");
strBuf.append(" is");
strBuf.append(" good.");

تم تعديل هذه المشاركة بواسطة herch في 26 يناير 2010 في 21:30

#664

شوف اخوي هذا الكود المستخدم طبعا انا مستخدم داتا بيس معها

اذا عرفت الله يجزاخ خير

 ResultSet resultset; StringBuffer result1, result2; String myname, mypassword;
    public void actionPerformed(ActionEvent e) {
        if(e.getSource()==ok){
            MyConnector bb=new MyConnector();
          try{
            resultset = bb.excuteQuery("Select * from AA");

               while(resultset.next()){
                   result1=new StringBuffer();
                   result2 = new StringBuffer();
              myname = result1.append(resultset.getObject(2)).toString();
              if(myname.equals(usertext.getText())){
                  JOptionPane.showMessageDialog(null, "User is Ok");

              mypassword = result2.append(resultset.getObject(3)).toString();
              if(mypassword.equals(passwordtext.getText())){
                //   new WELCOME().setVisible(true);
              }
              }

}

فا شنو فائدة stringBuffer هنا

تم تعديل هذه المشاركة بواسطة علاء الصالحي في 26 يناير 2010 في 22:59

#665

لا فائدة من استعمالها في حالتك، كان ممكن تستعمل String فقط، لأنك لا تغير قيمة ال StringBuffer.

#666

يا أخي أنتا هنا تقتل الذاكرة قتلاً

في كل لفة لـ while تقوم بإنشاء كائنين جديدين

result1=new StringBuffer();

result2 = new StringBuffer();

لو قمت بتعريفهم خارج while سيكون لهم أكبر معنى

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#667

السلام عليكم..

يا اخوان يا خبرائنا ارجوكم انا ابي اتعلم لغة الجافا و صناعة البرامج انا تايه في متاهه كنت احاول بالايام الي راحت لكن ما ادري من وين ابدا اعتبروني جاهل يريد ان يتعلم ون اين ابدا و اين اضع خطوتي الآولى

#668

قم بتنزيل وتنصيب JDK من هنا

وقم بتنزيل وتنصيب NetBeans من هنا

ابدأ بالتعلم!

يوجد هنا روابط لدورة جافا ودروس للمبتدئين

إذا أردت الاستفسار عن شيء ما ابحث بالمنتدى وخاصة من هذا الموضوع

وإن لم تجد جواباً فاكتب سؤالك هنا

:)

#669

السلام عليكم ..

الله يسعدكم ممكن شرح مبسط لـtry,throw,catch

وايضآ finally

ولماذا تستخدم ؟

بآنتظآركم :)

استغفر الله واتوب اليه ..~

لآاله الاانت سبحانك انى كنت من الظالمين ..~

#670

كلها تستعمل في ال exceptions

throw تستعمل لرفع exception.

نستعمل try عندما يكون لدينا كود يمكن أن يرفع exception، ونضع ذلك الكود داخل try bloc

catch تلتقط ال exception التي يتم رفعها، ويتم تنفيذ الكود الموجود داخل ال catch bloc

الكود الموجود داخل ال finally bloc يتم تنفيذه دائما سواء تم رفع exception أو لا.

هناك أيضا throws وهي تستعمل عند تعريف طريقة ما، وتعني أن هاته الطريقة ممكن ترفع exception

مثال

لنفترض الفئة التالية

class Calculator {
	public static int divide(int a, int b) throws Exception {
		if (b == 0) {
			throw new Exception("Cannot divide by zero!!");
		} else {
			return a/b;
		}
	}
}

عند تعريف الطريقة divide، استعملنا throws، أي أن هاته الطريقة ممكن ترفع Exception، وبالتالي يجب أن نضعها داخل try bloc عند استعمالها. إذا حاولت استعمالها مباشرة فسيعطيك ال compiler خطأ. عندما تكون b تساوي 0، فإننا نرفع Exception، في الحالات الأخرى تعيد نتيجة القسمة.

إذا اردنا استعمال الطريقة divide، يجب وضعها داخل try، وسنستعمل catch لالتقاط ال exception وتنبيه المستعمل بخطئه

public class NewClass {

	public static void main(String[] args) {

		int a = 20, b = 10;
		try {
			int result = Calculator1.divide(a, b);
			System.out.println(result);
		} catch (Exception ex) {
			System.out.println("The second argument must be greater then zero!!");
		} finally {
			System.out.println("This will be always printed.");
		}
	}
}

عندما يكون المعطى الثاني الذي نمرره أكبر من صفر، فإن البرنامج يشتغل بشكل عادي، والكود الموجود داخل catch لا يتم تنفيذه، أما إذا مررنا 0، فسيتم رفع exception، وبالتالي سيتم تنفيذ الكود داخل catch. أما الكود داخل finally فيتم تنفيذه في كل الأحوال.

#671

يعنى عندما اعمل وظيفه وفيها حاله استثنائيه اقوم باستخدام try

والـcatch تقوم بتعديله

اما الـthrows تقوم باخبارى بان الوظيفه تحتوى على استثناءات

صح ؟؟

طيب finally هل من الضرورى استخدامها مع try ,catch؟؟

مافهمت علاقتها بالـ try ,catch؟؟

لماذا نستخدمها والكود الموجود داخلهآ سينفذ فى كل الاحوال ؟

ياليت توضح الله يسعدك :)

تم تعديل هذه المشاركة بواسطة sa7bah* في 6 فبراير 2010 في 23:16

استغفر الله واتوب اليه ..~

لآاله الاانت سبحانك انى كنت من الظالمين ..~

#672
sa7bah* كتب:

يعنى عندما اعمل وظيفه وفيها حاله استثنائيه اقوم باستخدام try

والـcatch تقوم بتعديله

ال catch يقوم بعمل ما تريدين عمله عند حصول ال exception، يمكن اعتبارها خطة الطوارئ :lol:. مثلا تريدين فتح ملف، لكن الملف غير موجود، ستحصل exception ويتم تنفيذ ال catch، بالتالي أنت في ال catch ستضعين كود يقول للمستخدم أن الملف الذي حدده غير موجود وتطلبين منه اختيار ملف آخر.

ال finally ليس إجباريا، لكن في بعض الأحيان يكون مفيدا

مثلا

FileReader reader = null;
try {
	reader = new FileReader("test.txt");
//....
	//if an exception is thrown, the code below will not be executed
	reader.close();
} catch (Exception ex) {
	System.out.println(ex.getMessage());
}

إذا حصلت exception عند فراءة الملف فإنه سيتم القفز مباشرة إلى catch، وبالتالي لن يتم غلق ال stream. لذلك في هاته الحالة يفضل وضع أمر الإغلاق داخل finally، لأن الكود بداخلها يتم تنفيذه في كل الحالات، سواء كانت exception أو لا

#673

شكرآ على التوضيح استاذى ..

الله يجزاك خير :)

استغفر الله واتوب اليه ..~

لآاله الاانت سبحانك انى كنت من الظالمين ..~

#674

السلام عليكم و رحمة الله و بركاته

اولا اشكرك هذا الموقع الرائع بما فيه من مشرفين و اعضاء

ثانيا كنت عايزة استشيركم فى موضوع خاص بمشروع تخرجى

احنا عايزين نوصل gsm module مع plc

سؤالى

نوع الgsm

هو

Siemens MC35i_Terminal module

اريد معرفة

1/ التوصيلات المتاحة به

2/ لغة البرمجة الخاصة به

3/ شرح للغة البرمجة ان امكن

4/ البرامج المطلةبة لهذه اللغة و كيفية تسطيبها

و شكرا مقدما

و السلام عليكم و رحمة الله و بركاته

#675

هذا منتدى لغة جافا

يوجد منتديات أخرى متخصصة للمتحكمات

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

هذا الموضوع مغلق.

مواضيع مشابهة