Java | Фишки и трюки
7.21K subscribers
182 photos
29 videos
6 files
40 links
Java: примеры кода, интересные фишки и полезные трюки

Купить рекламу: https://telega.in/c/java_tips_and_tricks

✍️По всем вопросам: @Pascal4eg
Download Telegram
⌨️ Каким образом можно получить доступ к члену класса, объявленному как private?

Внутри класса доступ к приватной переменной открыт без ограничений;

Вложенный класс имеет полный доступ ко всем (в том числе и приватным) членам содержащего его класса;

Доступ к приватным переменным извне может быть организован через отличные от приватных методов, которые предоставлены разработчиком класса (геттеры, сеттеры). Например: getX() и setX().

Через механизм рефлексии (Reflection API):


class Hide {
private int field = 42;
}
...
Hide hide = new Hide();
Field field = Hide.class.getDeclaredField("field");
field.setAccessible(true);
int fieldValue = (int) field.get(hide);


#java #private #access
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥11👍31
⌨️ Какие существуют модификаторы доступа?

В Java модификаторы доступа определяют, из каких частей программы можно получить доступ к классу, методу или переменной. Всего их четыре:

public – предоставляет полный доступ к классу или его членам из любого другого класса в любом пакете. Применяется для методов, полей и классов, которые должны быть доступны всем.

protected – доступ к члену класса разрешен в пределах того же пакета и для подклассов, даже если они находятся в других пакетах. Используется для полей и методов, которые могут быть полезны в наследовании.

default (пакетный доступ) – если модификатор не указан явно, доступ к члену класса разрешен только внутри того же пакета. Этот доступ используется для внутренних структур, не предназначенных для использования в других пакетах.

private – доступен только внутри того же класса. Поля и методы, помеченные как private, невидимы для других классов, включая подклассы.

Эти модификаторы помогают контролировать видимость и инкапсуляцию данных в программе.

#java #public #protected #default #private
Please open Telegram to view this post
VIEW IN TELEGRAM
👍101
⌨️ private методы в интерфейсах

В Java с версии 9 появилась возможность использовать private методы в интерфейсах. Эти методы предназначены для улучшения внутренней организации интерфейсов, позволяя избежать дублирования кода в default и static методах. private методы помогают реализовать общую логику, к которой могут обращаться другие методы интерфейса, но они остаются недоступными для классов, реализующих интерфейс.

private методы могут быть как экземплярными, так и static.

Пример:

public interface MyInterface {
default void showMessage() {
print("Default method calling private method");
}

static void showStaticMessage() {
print("Static method calling private method");
}

// Private method for reuse
private static void print(String message) {
System.out.println(message);
}
}


#java #interface #private
Please open Telegram to view this post
VIEW IN TELEGRAM
9👍2🔥1
⌨️ private методы в интерфейсах

В Java с версии 9 появилась возможность использовать private методы в интерфейсах. Эти методы предназначены для улучшения внутренней организации интерфейсов, позволяя избежать дублирования кода в default и static методах. private методы помогают реализовать общую логику, к которой могут обращаться другие методы интерфейса, но они остаются недоступными для классов, реализующих интерфейс.

private методы могут быть как экземплярными, так и static.

Пример:

public interface MyInterface {
default void showMessage() {
print("Default method calling private method");
}

static void showStaticMessage() {
print("Static method calling private method");
}

// Private method for reuse
private static void print(String message) {
System.out.println(message);
}
}


#java #interface #private
Please open Telegram to view this post
VIEW IN TELEGRAM
6👍4🔥1