Héritant des variables statiques de la classe abstraite
J'ai une demi-douzaine de classes qui augmentent la même classe abstraite. La classe abstraite est une variable statique de pointage pour certains JNI code que je ne veux charger une fois par instanciation de la classe.
Ce que je comprends de cette résultats dans exactement une instance de cette variable statique instancié, mais ce que je veux pour chaque extension de classes ont leur propre instance statique de la variable qui est unique pour l'enfant de la classe. Je veux écrire un peu de code dans ma classe abstraite qui modifie et/ou des rejets de la classe abstraite. Est-il possible de faire ces deux choses à la fois?
Ainsi, à titre d'exemple je peux écrire une classe abstraite bar avec une variable foo et un printFoo méthode qui affiche le contenu de toto. J'instancie ensuite dans l'ordre fooBar1, fooBar2, et fooBar3 qui allonge la barre de classe et d'initialiser les foo pour différentes valeurs en blocs statiques. Si je l'appelle foobar1.printFoo
je veux imprimer la valeur statique de foo initialisé par fooBar1 constructeur.
Cela peut être fait en java?
un
static variable pointing to some code
. Pouvez-vous expliquer un peu plus? Comment avez-vous point de code en java?Je suis en utilisant jocl qui est un JNI wrapper autour de la prise en charge d'OpenCL code GPU. Dire le GPU ce faire, on doit créer un CL_program qui pointe à l'exécution de code et de qui génèrent un cl_kernel représentant le noyau compilé que le GPU va utiliser. Le programme et les variables du noyau sont celles que j'ai comme statique parce qu'il prend trop de temps pour faire juste-à-temps de compilation du code GPU. Mais je veux, entre autres choses, une version de la méthode de la classe abstraite qui peut être utilisée pour libérer le code.
OriginalL'auteur drew | 2011-04-14
Vous devez vous connecter pour publier un commentaire.
Vous pouvez approximative, mais vous aurez besoin de séparer les variables statiques pour chaque sous-classe, pour arrêter les sous-classes d'écraser les uns les autres valeurs. Il est plus facile de résumé ce par l'intermédiaire d'un getter
getFoo
de sorte que chaque sous-classe récupère les foo de la bonne place.Quelque chose comme cela
OriginalL'auteur mdma
J'ai un problème similaire. Ressemble à Java ne peut pas isoler des membres statiques (attributs). J'ai fini par l'ajout d'une méthode abstraite au lieu de l'attribut:
OriginalL'auteur Patrick