Sobes.tech
Junior — Middle

Программалоодо ички класс жана ички класс арасындагы айырма эмнеде?

sobes.tech AI

AIден жооп

Javaда (жана Androidда) ичке класс — бул башка класс ичинде жарыяланган кез келген класс. Ичке класс түрлөрү экиге бөлүнөт:

  1. Статикалык ичке класс (static nested class)static модификатору менен жарыяланат. Ал сырткы классдын статикалык эмес мүчөлөрүнө түздөн-түз кире албайт.
  2. Ички класс (inner class)static модификатору жок ичке класс. Ал сырткы класс менен байланышта болуп, анын статикалык эмес талааларына жана методдоруна кире алат.

Мисал:

class Outer {
    private int outerField = 10;

    static class StaticNested {
        void print() {
            // outerFieldга түздөн-түз кайрылуу мүмкүн эмес
            System.out.println("Статикалык ичке класс");
        }
    }

    class Inner {
        void print() {
            // outerFieldга кайрылуу мүмкүн
            System.out.println("Ичке класс, outerField = " + outerField);
        }
    }
}

Негизги айырма — ички класс сырткы класстын объектисине байланыштуу жана анын статикалык эмес мүчөлөрүнө кире алат, ал эми статикалык ичке класс — ал мындай мүмкүнчүлүккө ээ эмес.