override کردن متد های Static در جاوا - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

override کردن متد های Static در جاوا

+1 امتیاز
سلام خسته نباشید .

من می خواستم یکی از متد های static کلاسم  رو override کنم ولی هر کار کردم نشد ؟ چه کار باید بکنم ؟
سوال شده بهمن 15, 1392  بوسیله ی jolia (امتیاز 13)   1 1 1

2 پاسخ

+3 امتیاز
 
بهترین پاسخ

سلام ،

نیازی به Override کردن متد static نیست و فقط کافیه که بدون استفاده از کلمه @Override اون متد رو دقیقا با همون نام دوباره بنویسیم و این کار باعث نادیده گرفتن متد کلاسی که ازش به ارث رسیده شده ، برای این کلاس میشه.

public class Animal {
    public static void testClassMethod() {
        System.out.println("The static method in Animal");
    }
}


public class Cat extends Animal {
    public static void testClassMethod() {
        System.out.println("The static method in Cat");
    }

    public static void main(String[] args) {
        Cat myCat = new Cat();
        Animal myAnimal = new Animal();
      
        myAnimal.testClassMethod();
        myCat.testClassMethod();
    }
}

این مثال هم از سایت oracle هست و برای اطلاعات کامل تر میتونید به این لینک برید

http://docs.oracle.com/javase/tutorial/java/IandI/override.html

پاسخ داده شده بهمن 15, 1392 بوسیله ی Elyas74 (امتیاز 1,144)   6 14 27
انتخاب شد اسفند 19, 1392 بوسیله ی مصطفی ساتکی
+2 امتیاز
نکته ای که خیلی مهمه و باید بهش دقت کنین اینه که باید دو چیز عین هم باشند:

1: نام متد در زیرکلاس

2: نوع پارامتر متد (در صورت وجود)

به همین سادگی!
پاسخ داده شده اسفند 19, 1392 بوسیله ی A.Polite.Boy (امتیاز 65)   1 4
ویرایش شده اسفند 19, 1392 بوسیله ی A.Polite.Boy
...