Категории:

  • Программирование


  • Изобразительное искусство


  • Программирование встраиваемых систем


  • Компьютерная графика


  • WEB Разработка


  • Музыка


  • Инженерия


  • iVARIOUS


  • Mobil App


  • Java. Наследование, доступ к переменным класса

    С пониманием наследования в Java обычно трудностей нет, объект наследующий некоторый класс, хоть и не явно но имеет все тоже самое + свои какие то элементы:
    public class A {

    int x = 1;
    double y = 2.645;
    String name = "name";

    }


    public class B extends A {

    int arg = 9;

    public static void B(){

    System.out.println(x);
    System.out.println(y);
    System.out.println(name);
    System.out.println(arg);

    }

    }

    //......................
    //.......Вывод программы
    //......................

    1
    2.645
    name
    9

    Как видно с программы, при обращении к переменным: x, y, name, они выводятся как присущие классу B. B клас унаследовал все переменные от класса A и имеет свою собственную переменную int arg.
    Часто приходится работать с классами разных библиотек. Как уже упоминалось, обьекты в Java не имеют доступа к переменным других обьектов если те находятся в разных пакетах. Поэтому если в программе предусмотрен обмен private переменными между обьектами из разных пакетов, в классах этих обьектов, должны быть методы которые возвращают значения переменных обьектов, по умолчанию все созданые переменные установлены как private :
    public class A {

    int a=9;

    public int return_arg(){
    return a;
    }

    }


    public class B {

    int a=6;

    public int return_arg(){
    return a;
    }

    }


    public class example {

    public static void main(String[] args){
    A a = new A();// a.a = 9;
    B b = new B();b.a=6;

    a.a=b.return_arg();

    System.out.println(a.a);

    }
    //......Результат программы....
    6
    //.............................
    a.a=b.a;// Ошибка программы, нужно установить в классе b : public a;



    Читайте больше в категории: Программирование

    2016-03-10 06:21:33



    Другие статьи:

    Как выглядел легендарный граф Янош Другет

    PHP. Строки. Переменные в строках

    WinAPI. Кнопки Управления Графиком функций.

    Линии и пятна

    Android. Камера. Android.hardware.camera2

    STM32. Код работы таймера Basic TIM 6

    Maya. Extrude по кривой

    Java. Графики функций - продолжение

    Рисунок. Техники рисования

    Java. Классы и Обьекты