Решил найти как использовать метод из одного класса в другом, нашел вот такое:
private Class Name = new Class();
Испробовал у себя. Из класса Handle нужно использовать метод EntityNameRussian в классе Manage. В классе Manage вбиваю
private Handler handler = new Handler(Main);
Выдаёт "Handler (Main) in Handler cannot be applied to ()". Попробовал указать так
Handler handler = new Handler(Main);
После этого ошибка Expression expected. Сразу извиняюсь если где-нибудь дико туплю, в джаве недавно. Как это можно решить?
Чтобы использовать любой метод с известной нам сигнатурой, можно пойти через передачу ссылки на ф-ю:
class MyMath{
public static int factorial(int n){
if(n <= 1){
return 1;
}
return n * factorial(n - 1);
}
}
class factorialAnyAlgorithmCalculator{
Function<Integer, Integer> factorial;
public factorialAnyAlgorithmCalculator(Function<Integer, Integer> factorial){
this.factorial = factorial;
}
public Integer getFactorial(Integer n) {
return factorial.apply(n);
}
}
Тест:
System.out.println(new factorialAnyAlgorithmCalculator(MyMath::factorial).getFactorial(4));
Вывод:
24
А по теме - вы должны написать Main.class. Запись:
Class class1 = Main.class;
Верна, запись же:
Class class1 = Main;
Неверна.
Продвижение своими сайтами как стратегия роста и независимости