Вот что хорошо работает в JavaScript. Он находится в строке, потому что это то, что ожидал виджет Dojo.
Он соответствует десятизначному номеру NANP Северной Америки с дополнительным расширением. Пробелы, тире и периоды являются принятыми разделителями.
"^(\\(?\\d\\d\\d\\)?)( |-|\\.)?\\d\\d\\d( |-|\\.)?\\d{4,4}(( |-|\\.)?[ext\\.]+ ?\\d+)?$"
У вас есть простые методы для достижения этой цели.
1) Используйте число в качестве статической переменной и получите доступ к методу. (Используйте метод Synchronized для увеличения значения для многопоточного приложения)
2) Используйте AtomicInteger для увеличения. (Синхронизация не требуется) ( https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicInteger.html )
Если вы нужно больше объяснений, пожалуйста, дайте мне знать.
Вы можете использовать решение, упомянутое выше @Mikita Berazouski. Или вы можете использовать Статический метод . Таким образом, вам не нужно расширять сервер.
Статические методы - это методы в Java, которые можно вызывать без создания объекта класса. На них ссылается само имя класса или ссылка на объект этого класса.
Ваше решение будет таким:
public class Test {
public static void main(String... args) {
Client c = new Client();
c.run();
Business s = new Business();
s.run();
System.out.println(Server.number);
}
}
class Server {
public static int number = 0;
public static void run ()
{
number ++;
}
}
class Client {
public void run() {
Server.run();
}
}
class Business {
public void run() {
Server.run();
}
}
попробуйте код выше здесь , и вы проверите результат.
Другое возможное решение, так как вы объявляете число как статическое в классе Server, заключается в написании кода, подобного этому, это позволяет вам делать разные вещи в пустом прогоне каждого класса:
public class Test {
public static void main(String... args) {
Client c = new Client();
c.run();
Business s = new Business();
s.run();
System.out.println(Server.number);
}
}
class Server {
public static int number = 0;
}
class Client {
public void run() {
Server.number ++;
}
}
class Business {
public void run() {
Server.number ++;
}
}