LINUX.ORG.RU

да, смотри в сторону ASM.

aol ★★★★★
()
Ответ на: комментарий от aol

бред. Зачем мне модифицировать байт код, да ещё так извращаясь? Один из выходов - рефлексия, но у меня в программе заранее известно какой класс создавать. Нужно просто реализовать объявление класса при вызове метода. Допустим в том же as3 можно было сделать это так: в методе реализуем объявление класса блабла с именем лала. задаём классу значение переменной name:string = аргументу метода. добавляем класс в массив.

И если нужно обратиться к именно этому классу, то мы перебираем массив пока не находим нужный класс с нужным именем.

rm-rf
() автор топика

java reflection, не?

invy ★★★★★
()
Ответ на: комментарий от aol

ну вот смотри, может я коряво выразился. Мне нужно чтобы он создавал класс MyClass с иднтфикатором bla в отдельном потоке blaThread.

[code=java] MyClass bla = new MyClass(); Thread blaThread = new Thread(bla); blaThread.start(); [/code]

Как можно реализовать передачу идентификатора класса? Чтоб заместо bla был аргумент метода. И еще нужно с этим классов потом работать. Допустим вызвать метод eatMyMommy только у 1 экземпляра класса MyClass

rm-rf
() автор топика
Ответ на: комментарий от rm-rf

Особо не вчитывался. Про java.lang.reflect.Proxy знаешь? Spring и в частности spring-aop ковырял?

Absurd ★★★
()

Очень вероятно, что можно через ABCL [http://common-lisp.net/project/armedbear/], но полагаю, это не совсем то, чего ты ждешь. Потому как классы будут не явовскими, а фактически лисповыми, хотя и будет все работать поверх явовской виртуальной машины.

dave ★★★★★
()
Ответ на: комментарий от rm-rf
class blaThread<T> extends Thread {
private T class;
public blaThread(T){
  this.class = T;
}

public start(){
//что-то делать
}
}

не?

TERRANZ ★★★★
()

Если устраивает работа строго через интерфейс, то есть штатное библиотечное средство: java.lang.reflect.InvocationHandler

линк: Horstmann, Core Java 1-й том. Глава 5-я или 6-я, кажется.

gandjubas
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.