#java #android
Я не так давно в java и вот сегодня увидел такую штуку. Создаем обьект класса и после него сразу открываем фигурные скобки... и в них пишем код. Вот так private final CameraDevice.StateCallback mStateCallback = new CameraDevice.StateCallback() { @Override public void onOpened(@NonNull CameraDevice cameraDevice) { // This method is called when the camera is opened. We start camera preview here. mCameraOpenCloseLock.release(); mCameraDevice = cameraDevice; createCameraPreviewSession(); } @Override public void onDisconnected(@NonNull CameraDevice cameraDevice) { mCameraOpenCloseLock.release(); cameraDevice.close(); mCameraDevice = null; } @Override public void onError(@NonNull CameraDevice cameraDevice, int error) { mCameraOpenCloseLock.release(); cameraDevice.close(); mCameraDevice = null; Activity activity = getActivity(); if (null != activity) { activity.finish(); } } }; определен инстанс и сразу скобки и внутри переопределены 4 метода. Что это вообще значит? Как это будет работать?
Ответы
Ответ 1
Это называется Анонимный класс. Сразу после вызова конструктора происходил реализация необходимых методов. В случае если класс создаётся на основе интерфейса, то надо будет написать реализацию всех методов. Если же это просто класс, то можно переопределить только нужные методы.
Комментариев нет:
Отправить комментарий