java tutorial - класс и объекты java - учебник java - java programming - учиться java - java basics - java for beginners



Java — Классы и объекты

Java является объектно-ориентированным языком программирования. Как язык, который имеет функцию объектно-ориентирования, он поддерживает следующие основные понятия:
  • полиморфизм;
  • наследование;
  • инкапсуляция;
  • абстракция;
  • классы;
  • объекты;
  • экземпляр;
  • метод;
  • парсинг.
В этом уроке мы рассмотрим объекты и классы в Java, их концепции. Класс может быть определен как шаблон (обозначен зеленым цветом), который описывает поведение объекта, который в свою очередь имеет состояние и поведение. Он является экземпляром класса. Например: собака может иметь состояние —
  • цвет,
  • имя,
а также и поведение —
  • кивать,
  • лаить,
  • есть.

Объекты в Java

  • Давайте теперь посмотрим вглубь, что является объектами. Если мы рассмотрим реальный мир, то найдём много предметов вокруг нас, автомобили, собаки, люди, и т.д. Все они имеют состояние и образ жизни.
  • Если учесть, собаку, то ее состояние — имя, порода, цвет, а образ жизни - лай, виляние хвостом, бег.
  • Если сравнить программный объект в Java с предметов из реального мира, то они имеют очень схожие характеристики, у них также есть состояние и поведение. Программное состояние хранят в полях, а поведение отображается через методы.
  • Таким образом, в разработке программного обеспечения, методы работают на внутреннем состоянии объекта, а связи с другими, осуществляется с помощью методов.
  • classes and object - классы и объект
    java - джава - учиться java - учебник java -   классы и объект - примеры java - java-программы
    java - джава - учиться java - учебник java -
    классы и объект
    - примеры java - java-программы

    Классы в Java

  • Класс, из которого создаются отдельные объекты, обозначен зеленым цветом.
  • Пример создания класса в Java, приводится ниже:
  • public class Dog{
       String breed;
       int age;
       String color;
    
       void barking(){
       }
       
       void hungry(){
       }
       
       void sleeping(){
       }
    }
    нажмите кнопку ниже, чтобы скопировать код. - от - java tutorials - команда
  • Класс может содержать любой из следующих видов переменных:
    • Локальные переменные, определенные внутри методов, конструкторов или блоков. Они будут объявлены и инициализированы в методе, и будут уничтожены, когда метод завершится.
    • Переменные экземпляра являются переменными в пределах класса, но и снаружи любого метода. Они инициализируются при загрузке. Переменные экземпляра могут быть доступны из внутри любого метода, конструктора или блоков этого конкретного класса.
    • Переменные класса или статические переменные класса в Java объявляются в классе вне любого метода с помощью статического ключевого слова.
  • В Java классы могут иметь любое количество методов для доступа к значению различных видов методов. В приведенном выше примере, barking(), hungry() и sleeping() являются методами.
  • java - джава - учиться java - учебник java -   java class - примеры java - java-программы
    java - джава - учиться java - учебник java -
    java class
    - примеры java - java-программы

    Конструктор класса

  • При обсуждении вопроса класса, одной из наиболее важных подтем в Java является конструктор. Каждый класс имеет конструктор. Если мы не напишем его или, например, забудем, компилятор создаст его по умолчанию для этого класса.
  • Каждый раз, когда в Java создается новый объект, будет вызываться по меньшей мере один конструктор. Главное правило является то, что они должны иметь то же имя, что и класс, который может иметь более одного конструктора.
  • Пример конструктора приведен ниже:
  •  public class Puppy{
       public Puppy(){
       }
    
       public Puppy(String name){
          // Так выглядит конструктор в Java и у него один параметр, name.
       }
    }
    нажмите кнопку ниже, чтобы скопировать код. - от - java tutorials - команда
    java - джава - учиться java - учебник java -  java constructor  - примеры java - java-программы
    java - джава - учиться java - учебник java -
    java constructor
    - примеры java - java-программы

    Create an object

  • The options for creating an object in the class are:
    • Announcement : declaration of a variable with the name of a variable with the type of the object.
    • Instantiation : a "new" keyword is used.
    • Initialization : A "new" keyword is followed by a call to the constructor. This call initializes a new object.
  • An example is given below:
  • public class Puppy{
    
       public Puppy(String name){
          // Это конструктор и у него один параметр, name.
          System.out.println("Передаваемое имя:" + name ); 
       }
       public static void main(String []args){
          // Создание объекта myPuppy.
          Puppy myPuppy = new Puppy( "Багет" );
       }
    }
    
    нажмите кнопку ниже, чтобы скопировать код. - от - java tutorials - команда
    If you compile and run the above program, it will produce the following result:
     Передаваемое имя: Багет  
    
    нажмите кнопку ниже, чтобы скопировать код. - от - java tutorials - команда

    Instance methods

    java - джава - учиться java - учебник java -  java methods - примеры java - java-программы
    java - джава - учиться java - учебник java -
    java methods
    - примеры java - java-программы

    Доступ к переменным экземпляра и методам в Java

  • еременные и методы доступны через созданные объекты. Чтобы получить доступ к переменной экземпляра, полный путь должен выглядеть следующим образом:
  •  
    /* Сначала создайте объект */ 
    ObjectReference = new Constructor();
    
    /* Теперь вызовите переменную следующим образом */ 
    ObjectReference.variableName;
    
    /* Теперь Вы можете вызвать метод класса */
    ObjectReference.MethodName();
    нажмите кнопку ниже, чтобы скопировать код. - от - java tutorials - команда
    Пример
  • Этот пример объясняет, как получить доступ к переменные экземпляра и методам класса в Java:
  •  public class Puppy{
       
       int puppyAge;
    
       public Puppy(String name){
          // Это конструктор и у него один параметр, name.
          System.out.println("Передаваемое имя:" + name ); 
       }
       public void setAge( int age ){
           puppyAge = age;
       }
    
       public int getAge( ){
           System.out.println("Возраст щенка:" + puppyAge ); 
           return puppyAge;
       }
       public static void main(String []args){
          /* Создание объекта. */
          Puppy myPuppy = new Puppy( "Багет" );
    
          /* Вызов метод класса, чтобы установить возраст щенка. */ 
          myPuppy.setAge( 2 );
    
          /* Вызов другого метода класса, чтобы получить возраст щенка. */
          myPuppy.getAge( );
    
          /* Получение переменной экземпляра класса. */
          System.out.println("Значение переменной:" + myPuppy.puppyAge ); 
       }
    }
    нажмите кнопку ниже, чтобы скопировать код. - от - java tutorials - команда
    Если Вы скомпилируете и запустите выше программу, то она выдаст следующий результат:
     
    Передаваемое имя: Багет
    Возраст щенка: 2
    Значение переменной: 2
    нажмите кнопку ниже, чтобы скопировать код. - от - java tutorials - команда

    Правила объявления классов, операторов импорта и пакетов в исходном файле

  • В последней части этого раздела давайте рассмотрим правила декларации исходного файла. Эти правила в Java имеют важное значение при объявлении классов, операторов импорта и операторов пакета в исходном файле.
    • В исходном файле может быть только один публичный класс (public class).
    • Исходный файл может иметь несколько "непубличных" классов.
    • Название публичного класса должно совпадать с именем исходного файла, который должен иметь расширение .java в конце. Например: имя класса public class Employee{}, то исходный файл должен быть Employee.java.
    • Если класс определен внутри пакета, то оператор пакет должно быть первым оператором в исходном файле.
    • Если присутствуют операторы импорта, то они должны быть написаны между операторами пакета и объявлением класса. Если нет никаких операторов пакета, то оператор импорта должен быть первой строкой в исходном файле.
    • Операторы импорта и пакета будут одинаково выполняться для всех классов, присутствующих в исходном файле. В Java не представляется возможным объявить различные операторы импорта и/или пакета к различным классам в исходном файле.
  • Классы имеют несколько уровней доступа и существуют различные типы классов: абстрактные классы (abstract class), конечные классы (final class) и т.д. Обо всем этом обсудим в уроке модификаторы доступа.
  • java - джава - учиться java - учебник java -  java  classes - примеры java - java-программы
    java - джава - учиться java - учебник java -
    java classes
    - примеры java - java-программы

    Java пакет (package)

  • При разработке приложений сотни классов и интерфейсов будет написано, поэтому категоризации этих классов является обязательным, а также это делает жизнь намного проще.
  • Операторы импорта (import)

  • Если задать полное имя, которое включает в себя пакет и имя класса, то компилятор может легко найти исходный код или классы. В Java импорт это способ задать правильное место для компилятора, чтобы найти конкретный класс.
  • Например, следующая строка будет просить компилятор загрузить все классы, доступные в каталоге «java_installation/java/io»:
  • import java.io.*;
    
    нажмите кнопку ниже, чтобы скопировать код. - от - java tutorials - команда

    Простой пример по выше описанному

  • Для нашего обучения создадим два класса. Это будут классы Employee и EmployeeTest.
  • Для начала откройте блокнот и добавьте следующий код. Помните, что этот класс Employee является открытым или публичным классом. Теперь сохраните исходный файл с именем Employee.java.
  • Класс Employee имеет четыре переменных экземпляра name, age, designation и salary. Он имеет один явно определенный конструктор, который принимает параметр.
  •  import java.io.*;
    public class Employee{
       String name;
       int age;
       String designation;
       double salary;
    	
       // Это конструктор класса Employee. 
       public Employee(String name){
          this.name = name;
       }
       // Присвоение возраста работника переменной age.
       public void empAge(int empAge){
          age =  empAge;
       }
       /* Присвоение переменной designation. */
       public void empDesignation(String empDesig){
          designation = empDesig;
       }
       /* Присвоение переменной salary. */
       public void empSalary(double empSalary){
          salary = empSalary;
       }
       /* Вывод подробной информации. */
       public void printEmployee(){
          System.out.println("Имя:"+ name );
          System.out.println("Возраст:" + age );
          System.out.println("Наименование:" + designation );
          System.out.println("Заработная плата:" + salary);
       }
    }
    нажмите кнопку ниже, чтобы скопировать код. - от - java tutorials - команда

    Object-oriented libraries.

    java - джава - учиться java - учебник java -  java  client - примеры java - java-программы
    java - джава - учиться java - учебник java -
    java classes
    - примеры java - java-программы
  • Как упоминалось выше, обработка начинается с основного метода. Поэтому для нас, чтобы запустить класс Employee, должен быть главный метод и созданные объекты. Создадим отдельный класс для этих задач.
  • Ниже приводится класс EmployeeTest, в котором создаются два экземпляра класса Employee и вызывают методы для каждого объекта, для присвоения значений каждой переменной.
  • Сохраните следующий код в файл «EmployeeTest.java»:
  •  import java.io.*;
    public class EmployeeTest{
    
       public static void main(String args[]){
          /* Создание двух объектов с помощью конструктора. */
          Employee empOne = new Employee("Олег Олегов");
          Employee empTwo = new Employee("Иван Иванов");
    
          // Вызов метода для каждого созданного объекта.
          empOne.empAge(26);
          empOne.empDesignation("Старший инженер-программист");
          empOne.empSalary(1000);
          empOne.printEmployee();
    
          empTwo.empAge(21);
          empTwo.empDesignation("Инженер-программист");
          empTwo.empSalary(500);
          empTwo.printEmployee();
       }
    }
    нажмите кнопку ниже, чтобы скопировать код. - от - java tutorials - команда
  • Теперь, скомпилировав оба класса, запустим EmployeeTest и получим следующий результат:
  •  C:> javac Employee.java 
    C:> vi EmployeeTest.java 
    C:> javac EmployeeTest.java 
    C:> java EmployeeTest 
    Имя: Олег Олегов 
    Возраст: 26 
    Наименование: Старший инженер-программист 
    Заработная плата: 1000.0 
    Имя: Иван Иванов
    Возраст: 21 
    Наименование: Инженер-программист 
    Заработная плата: 500.0 
    
    нажмите кнопку ниже, чтобы скопировать код. - от - java tutorials - команда

    Java String data type - Тип данных Java String

    java - джава - учиться java - учебник java -  java strings - Тип данных Java String - примеры java - java-программы
    java - джава - учиться java - учебник java -
    java strings - Тип данных Java String
    - примеры java - java-программы
    The full java.lang.String API ( http://docs.oracle.com/javase/6/docs/api/java/lang/String.html).
    java - джава - учиться java - учебник java -  java strings - примеры java - java-программы
    java - джава - учиться java - учебник java -
    java string functions
    - примеры java - java-программы

    java iterator

    java - джава - учиться java - учебник java -  java iterator - примеры java - java-программы
    java - джава - учиться java - учебник java -
    java iterator
    - примеры java - java-программы

    Related Searches to класс и объекты java