Dans Android, il existe une classe appelée Runnable, et pour en obtenir une instance, le code est comme ceci:

Runnable r = new Runnable() {
    @Override
    public void run() {
        //do whatever here
    }
}

Comment puis-je faire cela avec ma propre classe?

Ainsi, par exemple:

package com.tylerr147.constructorThingy;
public class Whatever {
    //do whatever for the cunstructor here
}

Et

package com.tylerr147.constructorThingy;
public class OtherClass {
    Whatever w = new Whatever() {
        @Override
        public void WhateverRun() {
            //do something
        }
    }
}

Toute aide est la bienvenue, merci!

1
Tyler Richardson 5 avril 2017 à 05:06

2 réponses

Meilleure réponse
public interface Whatever {
    public void myMethod();
}

Vous pouvez indiquer votre Whatever classe à interfacer, et vous pouvez créer et implémenter votre méthode, comme:

Whatever w = new Whatever () {
   @Override
   public void myMethod() {
    ...
   }
}
2
chengpohi 5 avril 2017 à 02:10

Runnable est juste une interface avec une méthode qui doit être remplacée

Si vous voulez utiliser @override, vous devez faire de votre Whatever une interface avec n'importe quelle méthode.

public interface Whatever {
    public void WhateverRun();
}

   Whatever w = new Whatever () {
   @Override
   public void WhateverRun() {
    ...
   }
}
1
Fady Saad 5 avril 2017 à 02:17