5
czy można utworzyć nowy plik java z istniejącego pliku java po zmianie niektórych jego atrybutów w czasie wykonywania?jak utworzyć klasę dynamiczną w środowisku wykonawczym w Javie
Załóżmy, że mam plik java
pubic class Student{
private int rollNo;
private String name;
// getters and setters
// constructor
}
to możliwe, aby stworzyć coś takiego, pod warunkiem, że rollNo jest kluczowym elementem stole ..
public class Student {
private StudentKey key;
private String name;
//getters and setters
//constructor
}
public class StudentKey {
private int rollNo;
// getters and setters
// construcotors
}
proszę o pomoc ..
Podpowiedź: Aby odpowiedzieć na pytanie Q? Przede wszystkim myśl w ten sposób, jak klasa może być tworzona w czasie wykonywania. ponieważ każda klasa musi być załadowana, skompilowana, a następnie uruchomiona. Czy jest to możliwe tylko w czasie wykonywania? –
@javauser: Możesz to zrobić w środowisku wykonawczym za pomocą Java Compiler API (patrz [ta poprzednia odpowiedź] (http://stackoverflow.com/questions/2130039/javacompiler-from-jdk-1-6-how-to-write -klasy-bajty-bezpośrednio-do-tablicy bajtów/2130290 # 2130290)). Nie ma tu zastosowania (przynajmniej nie sam), ponieważ OP chce zmodyfikować już skompilowany/załadowany typ. Ale aby ściśle odpowiedzieć na twoje pytanie, jest to możliwe. –
@javauser: proszę zamieszczać tylko istotne komentarze. Bez zagadek, dzięki. Oprócz tego, "eleet speak", jak twoje * "Aby odpowiedzieć na pytanie Q?" * Jest zaskoczony SO. Proszę tego nie robić. – NoozNooz42