2016-02-19 3 views
3

Я пытаюсь создать абстрактный класс, и пока я создаю новый объект этого класса, я пытаюсь установить переменную в классе.Java Изменение переменных при создании экземпляра абстрактного класса

abstract class TestClass { // Class I'm trying to change a variable in. 
    public String testString; 
} 

public class Main { 
    public static void main(String[] args) { 
     TestClass t = new TestClass() { 
      public String testString = "TEST"; // Where I'm trying to set it 
     }; 
     System.out.println(t.testString); 
    } 
} 

Выход:

null 

Я wan't его выход из "TEST".

Есть ли способ сделать это с помощью метода, подобного тому, который я пытаюсь сделать?

ответ

5

Вы должны использовать инициализатор блок:

TestClass t = new TestClass() { 
    { // initializer block 
     testString = "TEST"; 
    } 
}; 
+1

похоже, что это ответ. Я не могу отметить вас как решение в течение нескольких минут. благодаря! – AbundanceOfNames

0
public String testString = "test"; 

создает переменную внутри основной функции в Main, который является отдельным от того, который Вы хотите изменить.

Try:

Super.testString = "test"; 

изменить значение СравниваемаяСтрока от Super.

Смежные вопросы