Я изо всех сил пытаюсь разобраться с Java. Как использовать метод giveCode(), чтобы вернуть целочисленное значение для объекта. Это код, который был предварительно написан нашим лектором, и мы должны использовать его для возврата целочисленного значения для объекта, его нужно использовать при создании хэш-значений для хеш-таблицы.Использование интерфейсов внутри классов в Java
HashCode.java
// Interface for HashCode. Has only one method declaration
public interface HashCode {
// For an input object, computes and returns its HashCode as an integer
public int giveCode(Object o);
}
StringHashCode.java (Я создал этот класс, как мы должны реализовать класс Hashcode в этом классе)
public abstract class StringHashCode implements HashCode{
}
Я пытался что-то вроде этого в мой основной, просто для того, чтобы просто вернуть значение кода, поэтому я вижу, как он работает, но ничего не работает:
System.out.println(new StringHashCode.giveCode(example_object));
Или
System.out.println(new StringHashCode.giveCode(example_object.hashCode()));
Или
System.out.print(HashCode.giveCode(example_object));
Я совершенно новой для Java, но у меня есть большой опыт работы с другими языками объектно-ориентированного программирования, но я не могу понять проблемы с этим один, я чувствую, что это, наверное, что-то глупое, но я не могу это обсуждать.
Что означает _not working_? Каковы ваши ожидания и каковы фактические результаты? –
Вы не можете создавать экземпляры абстрактного класса. Вам нужен конкретный класс. Ваши примеры даже не будут компилироваться. Я предлагаю вам написать код, который будет скомпилирован первым. –
Вам не хватает двух очень важных символов, называемых скобками: 'new StringHashCode()' –