2010-06-05 32 views
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 ..

+0

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? –

+0

@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. –

+1

@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

Odpowiedz

Powiązane problemy