Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Использование super и super()



Если необходимо обратиться к элементам собственного класса, то используется переменная this. Доступ к super-классу или родительскому классу осуществляется при помощи переменной super (если как переменная, то без (); если как конструктор, то super();).

Использовать такую переменную удобно, если в производном классе используется переопределённый метод, в котором используется код исходного метода. Часто переменная super используется для вызова конструктора базового класса в конструкторе производного класса.

Пример:

class my_class2 extends my_class1

{ ………….

public static void f1(int x, int y)

{ …………..

super.f1(x,y);

………… }

public my_class2(String str)

{ super(str1);

……….}

}

super и this неприменимы в классе с модификатором static.

Пример:

class MyClass

{ String s;

int i;

void f1(char c)

{ this.i=3; } //можно i=3

}

Подкласс имеет доступ ко всем открытым переменным и методам (кроме private) родительского класса. Доступ осуществляется через ключевое слово super. Оно используется для вызова конструктора суперкласса (super()) или для доступа к члену суперкласса (super.).

При вызове конструктора слово super() всегда должно стоять на первом месте.

super(список_параметров); /* вызов конструктора суперкласса с передачей параметров или без нее*/

super.i = n; /* обращение к атрибуту суперкласса */

super.methodName(); /* вызов метода суперкласса */

Пример 4.2 Использование ключевого слова super

class Point{

protected int x, int y;

public Point (int x1, int y1){

x=x1;

y=y1;

}

}

class Circle extends Point{

int R;

public Circle(int x1, x2, R1){

super (x1,x2);

R=R1;

}

}

this используется в методах при обращении к элементам этого же класса.





Дата публикования: 2015-02-03; Прочитано: 320 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...