Я хочу добавить новые поля (переменные) и методы инкапсуляции для данного класса. Например: Имя класса Student не имеет полей, как показано ниже:Динамически создавать поля и методы
public class Student implements Serializable{
}
то в моем приложении создается экземпляр;
Student s=new Student();
Я хочу, чтобы добавить новые методы, которые не существуют для класса студентов на беге time.for Например: Я хочу добавить поле под названием studentName
и getStudentName()
и setStudentName()
методы.
Тогда во время выполнения объект-ученик будет таким:
public class Student implements Serializable{
private String studentName;
public void setStudentName(..){}
public String getStudentName(){return ...;}
}
В моих объектах приложения записываются в текстовый файл, и все объекты того же типа не имеют всех переменных. Поэтому я хочу добавить только необходимые поля для сохранения памяти.
Любой способ - это сделать это? Любой пример кода или ссылки?
EDIT: или же мы можем создать класс и создать экземпляры, которые не существуют?
EDIT 2: Спасибо, что все вы ответили и получили много информации и идей. И изменил путь к лучшему пути от ваших предложений, а также
Частичный дубликат: http://stackoverflow.com/questions/6680674/can-a-java-class-add-a-method-to-itself-at-runtime – christopher
Похоже, вы можете придумать решение проблемы необоснованно, и тот, который может быть лучше рассмотрен с более продуманным представлением о модели данных (и, возможно, больше типов). –
Не следуй за этой дорогой, ради бога! –