Предполагается сделать фоновое изображение доступным для дочерних элементов элемента, для которого он указан, для таких вещей, как эффекты фильтра, которые смешивают контент с фоном (могут быть другие применения, но это тот, который я знаю). Если у вас его нет, то технически элемент не может использовать фоны, созданные предками. Единственным крупным браузером, поддерживающим его, является IE10 +, поэтому он не очень сильно используется. (Он также присутствует в качестве шаблона в каждом экспорте SVG Illustrator - без уважительной причины.)
Вы уверены, что вам нужен класс?
Может быть, достаточно простого объявления поля:
public class ABC extends CDE implements EFG {
public String testValue;
public String anotherValue;
public void firstMethod(String valueOne, String valueTwo) {
// do whatever you wish with testValue and anotherValue
}
public void readMethod() {
// here you have access to both variables
}
}
Все, что вы хотите сделать, это создать POJO , который содержит testValue
и anotherValue
и объявить класс вне вашего класса компонента, например:
class ExampleBean {
private String testValue;
private String anotherValue;
//getters and setters
}
готово, вы можете сохранить ссылку этого класса в свой класс компонентов и получить доступ к значению, например:
public class ABC extends CDE implements EFG {
ExampleBean exampleBean = new ExampleBEan();
public void firstMethod(valueOne, valueTwo) {
exampleBean.setValueOne(valueOne);
exampleBean.setAnotherValue(valueTwo);
}
public void readMethod() {
String value = exampleBean.getValueOne();
}
}
Сделать локальный класс глобальным и установить / прочитать значения через экземпляр:
public class ABC extends CDE implements EFG {
class TestClass {
public String testValue = valueOne;
public String anotherValue = valueTwo;
}
private testClassInstance = new TestClass()
public void firstMethod(valueOne, valueTwo) {
testClassInstance.testValue = valueOne
testClassInstance.anotherValue = valueTwo
}
public void readMethod() {
System.out.println(testClassInstance.valueOne)
System.out.println(testClassInstance.valueTwo)
}
}
Может быть, это будет соответствовать вашим критериям? То, о чем вы сейчас просите, невозможно из-за объема внутреннего класса.
Вы также можете инициализировать этот закрытый экземпляр класса в своем конструкторе.
public class Sample {
class TestClass {
public String testValue;
public String anotherValue;
}
private TestClass localTest = new TestClass();
public void firstMethod(valueOne, valueTwo) {
localTest.testValue = valueOne;
localTest.anotherValue = valueTwo;
}
public void readMethod() {
localTest.testValue = "test1";
localTest.anotherValue = "anotherValue";
System.out.println(localTest.testValue);
}
}
Вы объявляете класс с помощью метода, что неправильно
Вам необходимо понять, что на самом деле означают класс и метод (Google Java OOP):
1- Вы должны создайте класс и объявите переменные, которые вы хотите
2- создайте конструкторы для значений по умолчанию
3- сделайте установщики, чтобы установить (назначить) эти значения
4- сделайте геттеры читать эти значения