Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Тема 3. Введение в классы java. Методы и классы. Классы и наследование в java. Пакеты и интерфейсы

Поиск

 

Введение в классы Java

Класс – это базовая конструкция Java. Класс – это шаблон для объекта. Объект – это экземпляр класса. Данные класса называются переменными экземпляра, так как каждый объект содержит собственную копию этих переменных. Код класса – это методы.

 

модификаторы class имя_созд._класса extends имя_супер_класса implements имя_интерфейса1, …, имя_интерфейсаN

{тело класса}

 

Пример класса, который читает строку с клавиатуры и выводит её на экран:

 

import java.io.*;

class HelloWorld {

public static void main(String args[])

{String s;

BufferedReader in=new BufferedReader(new InputStreamReader(System.in));

s=in.readLine();

System.out.println(“s= “+s);

}

}

 

Синтаксис определения экземпляра класса

имя_класса имя_переменной_экземпляра_класса;

BufferedReader in;

имя_переменной_экземпляра_класса = new имя_класса(параметры инициализации);

 

Модификаторы класса

Выделяют следующие модификаторы класса.

рublic – класс доступен для использования или расширения всем объектам вне зависимости от пакета или от каталога. Рublic-классы должны хранится в файлах с именем имя_класса.java. Для остальных классов такое соответствие рекомендуемое.

friendly – модификатор класса по умолчанию, если модификатор не определен явно для класса. Такой класс доступен только для объектов, находящихся в том же пакете. Вне пакета он выступает как private.

final – класс не может иметь подклассов, то есть производных классов. Обычно такие классы разрабатываются и используются для организации определённого стандарта реализации.

abstract – класс, в котором объявлен хотя бы один абстрактный метод. Для таких классов нельзя создавать объекты. Такие классы используются для производных классов, также для организации стандартизированных интерфейсов.

Пример:

 

abstract class Myclass {

abstract void actMet();

}

 

Множественное наследование в Java отсутствует. При расширении классов мы создаем класс, который является копией родительского класса, но с возможностью его расширять. По умолчанию создаваемый класс порождается от класса Object. При создании экземпляра класса или объекта необходимо сообщить компилятору имя переменной, используемой для обозначения экземпляра объекта, и выделить для него память при помощи операции new:

 

String s = new String(“abc”);

 

Конструкторы

Конструктор – это тот же метод класса, обладающий некоторыми особенностями:

· имеет такое же название, как и класс;

· вызывается сам;

· не возвращает никакого значения;

Пример для перегрузки конструктора;

 

class worker

{ private int Age;

public String Name;

public worker(); // конструктор без параметров

{ Age = 20;}

public worker(int newAge, String newName)

{ Age = newAge;

Name = newName;

}

public int getAge()

{return Age;}

};

public class worker_pub

{ public static void main(String args[])

{ worker wrk1 = new worker();

worker wrk2 = new worker(40, “Petrov”);

System.out.println(wrk1. getAge()+wrk1.Name);

System.out.println(wrk2. getAge()+wrk2.Name);

}

}

Результат на экране:

null

Petrov

 

Если мы не определяем явно конструктор, то Java создает его сам, без параметров.

 

Ограничение доступа к элементам класса

Как и С, Java использует 3 ключевых спецификатора для установки ограничений доступа к элементам класса: public, private, protected.

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

private – доступ может получить только член этого же класса.

protected – доступ может получить член собственного класса и члены производных классов. Наследующие классы имеют доступ к рrotected-членам, но не к private-членам.

friendly используется по умолчанию, когда никакой модификатор не указан. Действует как public внутри собственного пакета и как private вне пакета.

 



Поделиться:


Последнее изменение этой страницы: 2017-02-09; просмотров: 165; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.137.200.139 (0.005 с.)