JavaRush /Блоги Java /Random-TG /5 чизи ҷолиб ва норавшан, ки Java-ро забони барномасозии ...
Андрей Пазюк
Сатҳи
Киев

5 чизи ҷолиб ва норавшан, ки Java-ро забони барномасозии дӯстдоштаи шумо хоҳанд кард

Дар гурӯҳ нашр шудааст
Роҳи шумо шудан ба мутахассиси ҳақиқӣ дар ҷаҳони барномасозӣ аз эътимоди комил ба забони Java аст. Он аз ҷониби миллионҳо таҳиягарон дар саросари ҷаҳон истифода мешавад ва имрӯз мо ба шумо панҷ чизи ҷолиб ва ноаёнро нишон медиҳем, ки Java-ро забони дӯстдоштаи барномасозии шумо хоҳанд кард. 5 чизи ҷолиб ва норавшан, ки Java-ро забони дӯстдоштаи барномасозии шумо хоҳанд кард - 11. Мутобиқати интерфейсҳо Дар Java мумкин аст интерфейсҳоро ҳамчун шартнома барои ҳамкории байни синфҳо истифода бурд. Аммо шояд шумо намедонистед, ки аз замони Java 8 интерфейсҳоро бо истифода аз усулҳои пешфарз амалӣ кардан мумкин аст. Ин ба шумо имкон медиҳад, ки бе вайрон кардани codeе, ки аллакай онро амалӣ мекунад, усулҳои навро ба интерфейс илова кунед. Ин махсусан ҳангоми таҳияи лоиҳаҳои мавҷуда муфид аст, ки дар он функсияҳои нав ба осонӣ илова карда мешаванд.
interface Vehicle {
    void start();
    void stop();

    default void honk() {
        System.out.println("Beep beep!");
    }
}

class Car implements Vehicle {
    @Override
    public void start() {
        System.out.println("Car started.");
    }

    @Override
    public void stop() {
        System.out.println("Car stopped.");
    }
}

public class Main {
    public static void main(String[] args) {
        Car car = new Car();
        car.start();
        car.stop();
        car.honk(); // Использование метода по умолчанию из интерфейса
    }
}
2. Муносибати истисноӣ Java дорои системаи пурқуввати коркарди истисноҳо мебошад, ки дар идоракунии хатоҳо ҳангоми иҷрои барнома кӯмак мекунад. Аммо, шумо шояд ҳайрон шавед, ки шумо метавонед намудҳои истисноии худро барои инъикоси ҳолатҳои махсус дар codeи худ эҷод кунед. Ин ба шумо имкон медиҳад, ки паёмҳои хатогиҳои муфассалтар ва равшантар эҷод кунед, ки онҳо зудтар пайдо ва ислоҳ карда шаванд.
class CustomException extends Exception {
    public CustomException(String message) {
        super(message);
    }
}

public class Main {
    public static void main(String[] args) {
        try {
            // Бросаем исключение CustomException
            throw new CustomException("Something went wrong.");
        } catch (CustomException e) {
            System.out.println("Exception caught: " + e.getMessage());
        }
    }
}
3. Истифодаи эзоҳҳо Эзоҳҳо тамғакоғазҳои махсус мебошанд, ки онҳоро ба синфҳо, усулҳо ё майдонҳои Java истифода бурдан мумкин аст. Онҳо маълумоти иловагиро дар бораи рамзи шумо пешниҳод мекунанд ва метавонанд барои тавлиди автоматии ҳуҷҷатҳо, таҳлor статикӣ ё ҳатто эҷоди аломатҳои фармоишӣ барои рамзи шумо истифода шаванд. Эзоҳҳо метавонанд як воситаи хеле пурқувват барои таҳиягароне бошанд, ки мехоҳанд такрори codeро кам кунанд ва ҷанбаҳои муайяни рушдро автоматӣ кунанд.
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;

@Retention(RetentionPolicy.RUNTIME)
@interface MyAnnotation {
    String value() default "";
}

public class Main {
    @MyAnnotation(value = "Example")
    public static void main(String[] args) {
        // Получаем аннотацию и выводим meaning
        MyAnnotation annotation = Main.class.getAnnotation(MyAnnotation.class);
        System.out.println("Annotation value: " + annotation.value());
    }
}
4. Намудҳои номбаршуда Java дорои қобorяти эҷод кардани намудҳои номбаршуда мебошад, ки маҷмӯи арзишҳои доимӣ мебошанд. Онҳо ба шумо имкон медиҳанд, ки рамзи равшан ва бехатар нависед, зеро компилятор тафтиш мекунад, ки ин намудҳо дар вақти тартибдиҳӣ дуруст истифода мешаванд. Илова бар ин, намудҳои enum метавонанд усулҳо ва конструкторҳои худро дошта бошанд, ки ба шумо ҳангоми кор бо онҳо чандирии бештар медиҳанд.
enum Day {
    MONDAY,
    TUESDAY,
    WEDNESDAY,
    THURSDAY,
    FRIDAY,
    SATURDAY,
    SUNDAY
}

public class Main {
    public static void main(String[] args) {
        Day today = Day.TUESDAY;
        System.out.println("Today is " + today);
    }
}
5. Ифодаҳои Ламбда Ҷорисозии ифодаҳои лямбда дар Java 8 ба таҳиягарон имкон дод, ки рамзи тозатар ва паймонтар нависад. Ифодаҳои Lambda ба шумо имкон медиҳанд, ки функсияҳоро ҳамчун параметр ба дигар вазифаҳо интиқол диҳед, ки кор бо рӯйхатҳо, филтр ва табдил додани коллексияҳоро осонтар мекунад. Онҳо инчунин хониши codeро беҳтар мекунанд, зеро функсияро ба ҷои блокҳои дарози code дар чанд сатр ифода кардан мумкин аст.
import java.util.ArrayList;
import java.util.List;

public class Main {
    public static void main(String[] args) {
        List<integer> numbers = new ArrayList<>();
        numbers.add(1);
        numbers.add(2);
        numbers.add(3);

        // Применение лямбда-выражения для удвоения значений списка
        numbers.replaceAll(n -> n * 2);

        System.out.println(numbers); // Выводит: [2, 4, 6]
    }
}
Ин панҷ ҷанбаи ҷолиб ва норавшани забони Java потенсиали шуморо ҳамчун як таҳиягар боз мекунад ва ба забони дӯстдоштаи барномасозии шумо кӯмак мекунад. Бо ин забони пурқувват дониш ба даст оред, таҷриба кунед ва лоиҳаҳои ҷолиб созед! PS Матн, code ва аксҳои мақола бо истифода аз AI тавлид шудаанд. Агар ин формат ба шумо писанд омада бошад, пас лайк монед, коментария нависед ва ман мундариҷаи шабеҳ ва бо сифати беҳтарро нашр мекунам.
Шарҳҳо
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION