Как можно получить доступ к методам класса Object, используя ссылочную переменную интерфейса? Каков основной механизм, пJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Как можно получить доступ к методам класса Object, используя ссылочную переменную интерфейса? Каков основной механизм, п

Сообщение Anonymous »

Я работаю над проектом Java и определил интерфейс, класс, реализующий этот интерфейс, и пользовательский класс для тестирования реализации. Я не понимаю, как я могу вызывать методы из класса Object, используя ссылочную переменную интерфейса.
ИНТЕРФЕЙС АТМ

Код: Выделить всё

package interfaceconcept;

public interface ATM {
void withdraw();
void checkBalance();
void pinGenerate();
}
БЕТОННЫЙ ПОДКЛАСС, РЕАЛИЗУЮЩИЙ

Код: Выделить всё

package interfaceconcept;

package interfaceconcept;

public class Bank {
private class SBI implements ATM {
public void withdraw() {
System.out.println("Amount withdrawn successfully!!");
}

public void checkBalance() {
System.out.println("Balance available!!");
}

public void pinGenerate() {
System.out.println("PIN generated!!");
}
}

public ATM atm() {
return new SBI();
}
}

КЛАСС ПОЛЬЗОВАТЕЛЬСКОЙ ЛОГИКИ

Код: Выделить всё

package interfaceconcept;

public class User {
public static void main(String[] args) {
Bank bank = new Bank();
ATM atm = bank.atm();
atm.checkBalance();
atm.withdraw();
atm.pinGenerate();

// Accessing Object class methods through atm reference
System.out.println(atm.toString());   /*How can we access Object class methods through ATM interface reference variable? */
System.out.println(atm.equals(atm));  /* How can we access Object class methods through ATM interface reference variable? */
}
}

Сомнение
По сути, всякий раз, когда мы создаем интерфейс в Java, он не наследует никаких методов из класса Object, но когда мы создаем абстрактный класс, он наследует 11 нестатических методов из класса Object, эта природа не отображается в интерфейсе. Вот почему мы используем интерфейс для достижения 100% абстракции
Теперь я не могу понять, почему мы получаем доступ к членам класса Object с помощью преобразованной ссылочной переменной класса ATM, потому что компилятор проверит синтаксис и семантику во-первых, и в соответствии с этим мы можем получить доступ только к суперклассу и супербольшинству членов класса с помощью преобразованной ссылочной переменной, но в этом случае интерфейс не наследует 11 нестатических методов, почему мы можем получить доступ к методам объекта class
Возможно, я где-то ошибаюсь в понимании этой концепции, но я объяснил все, что знал, пожалуйста, дайте мне подробный ответ, чтобы я мог лучше понять
Заранее спасибо.

Подробнее здесь: https://stackoverflow.com/questions/792 ... eference-v
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»