Чтобы уменьшить путаницу:
Инкапсуляция используется для скрытия информации или данных, скрывая
Инкапсуляция означает автономный. Все объекты в Java имеют набор данных и методов для работы с этими данными. Поэтому пользователю любого объекта не нужно беспокоиться о том, как работает объект. Таким образом, вы скрываете информацию и другие сложности.
Пример: Любой объект Java достаточно, чтобы представить пример.
Абстракция: Это означает, что вы делаете вещи вообще, а не создаете очень specfic-класс при создании базовых классов или интерфейсов, а затем расширяете их, чтобы получить свой конкретный класс.
Пример: класс Animal {} класс Lion распространяется Animal {}
Так вот для класса Lion у вас есть обобщенный класс т.е. животное. Это представляет собой абстракцию
Примечание Примеры givien от KepaniHaole являются совершенными.
абстракция Пример:
public interface Animal{
public String getType();
}
class Lion implements Animal {
private String animalType = "WILD";
@Override
public String getType() {
return this.animalType;
}
}
class Cow implements Animal {
private String animalType = "Domestic";
@Override
public String getType() {
return this.animalType;
}
}
В этом примере лев и Корова классы реализует интерфейсживотных.Лев и Корова классы override
GetType метод интерфейса животных.
Здесь Лев и Корова - это особые случаи, а животное более обобщенно. Таким образом, это дает вам абстракцию, потому что всякий раз, когда у вас есть Animal, у вас есть метод getType, чтобы узнать его тип, т. Е. Вы его обобщили.
Теперь, если вы заметите, что я сделал animalType приватными в Lion и Корова классы так, что никто за пределами класса не может изменить его. Таким образом, я скрываю нежелательную информацию от внешних объектов.
Все внешние объекты должны это GetType метод известен в тип животного. Таким образом я подвергаю только относительную информацию внешним объектам.
Информационное скрытие - это еще один способ сказать инкапсуляцию. Предоставление ненадежным (или даже доверенным) клиентам доступа к состоянию объекта способом, позволяющим клиентам злонамеренно (или случайно) испортить состояние объекта, очень плохо. В максимально возможной степени состояние объекта должно быть скрыто от мира. – scottb