Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial programming >> java

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

Java — это объектно-ориентированный язык. Как язык с объектно-ориентированной функцией, Java поддерживает следующие основные концепции —

В этой главе мы рассмотрим концепции — классы и объекты.

Объекты в Java

Давайте теперь углубимся в то, что представляют собой объекты. Если мы рассмотрим реальный мир, то сможем найти множество объектов вокруг себя, автомобили, собак, людей и т. д. Все эти объекты имеют состояние и поведение.

Если рассматривать собаку, то ее состояние - имя, порода, окрас, а поведение - лай, виляние хвостом, бег.

Если вы сравните программный объект с реальным объектом, у них будут очень похожие характеристики.

Программные объекты также имеют состояние и поведение. Состояние программного объекта хранится в полях, а поведение отображается с помощью методов.

Таким образом, в разработке программного обеспечения методы работают с внутренним состоянием объекта, а взаимодействие между объектами осуществляется с помощью методов.

Классы в Java

Класс — это план, на основе которого создаются отдельные объекты.

Ниже приведен пример класса.

Пример

public class Dog {
   String breed;
   int age;
   String color;

   void barking() {
   }

   void hungry() {
   }

   void sleeping() {
   }
}

Класс может содержать любой из следующих типов переменных.

Класс может иметь любое количество методов для доступа к значениям различных видов методов. В приведенном выше примере barking(), голодный() и sleep() являются методами.

Ниже приведены некоторые важные темы, которые необходимо обсудить при изучении классов языка Java.

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

При обсуждении классов одной из наиболее важных подтем будут конструкторы. У каждого класса есть конструктор. Если мы явно не напишем конструктор для класса, компилятор Java создаст конструктор по умолчанию для этого класса.

Каждый раз, когда создается новый объект, будет вызываться как минимум один конструктор. Главное правило конструкторов состоит в том, что они должны иметь то же имя, что и класс. Класс может иметь более одного конструктора.

Ниже приведен пример конструктора —

Пример

public class Puppy {
   public Puppy() {
   }

   public Puppy(String name) {
      // This constructor has one parameter, name.
   }
}

Java также поддерживает одноэлементные классы, в которых вы можете создать только один экземпляр класса.

Примечание − У нас есть два разных типа конструкторов. Мы собираемся подробно обсудить конструкторы в следующих главах.

Создание объекта

Как упоминалось ранее, класс предоставляет чертежи для объектов. Таким образом, объект создается из класса. В Java ключевое слово new используется для создания новых объектов.

При создании объекта из класса есть три шага —

Ниже приведен пример создания объекта —

Пример

Живая демонстрация
public class Puppy {
   public Puppy(String name) {
      // This constructor has one parameter, name.
      System.out.println("Passed Name is :" + name );
   }

   public static void main(String []args) {
      // Following statement would create an object myPuppy
      Puppy myPuppy = new Puppy( "tommy" );
   }
}

Если мы скомпилируем и запустим вышеуказанную программу, то она даст следующий результат —

Вывод

Passed Name is :tommy

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

Доступ к переменным и методам экземпляра осуществляется через созданные объекты. Чтобы получить доступ к переменной экземпляра, используйте полный путь —

/* First create an object */
ObjectReference = new Constructor();

/* Now call a variable as follows */
ObjectReference.variableName;

/* Now you can call a class method as follows */
ObjectReference.MethodName();

Пример

В этом примере объясняется, как получить доступ к переменным экземпляра и методам класса.

Живая демонстрация
public class Puppy {
   int puppyAge;

   public Puppy(String name) {
      // This constructor has one parameter, name.
      System.out.println("Name chosen is :" + name );
   }

   public void setAge( int age ) {
      puppyAge = age;
   }

   public int getAge( ) {
      System.out.println("Puppy's age is :" + puppyAge );
      return puppyAge;
   }

   public static void main(String []args) {
      /* Object creation */
      Puppy myPuppy = new Puppy( "tommy" );

      /* Call class method to set puppy's age */
      myPuppy.setAge( 2 );

      /* Call another class method to get puppy's age */
      myPuppy.getAge( );

      /* You can access instance variable as follows as well */
      System.out.println("Variable Value :" + myPuppy.puppyAge );
   }
}

Если мы скомпилируем и запустим вышеуказанную программу, то она даст следующий результат —

Вывод

Name chosen is :tommy
Puppy's age is :2
Variable Value :2

Правила объявления исходного файла

В качестве последней части этого раздела давайте теперь рассмотрим правила объявления исходного файла. Эти правила необходимы при объявлении классов, import заявления и пакет операторы в исходном файле.

Классы имеют несколько уровней доступа и существуют разные типы классов; абстрактные классы, окончательные классы и т. д. Мы объясним все это в главе о модификаторах доступа.

Помимо вышеупомянутых типов классов, в Java также есть несколько специальных классов, называемых внутренними классами и анонимными классами.

Пакет Java

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

Отчеты об импорте

В Java, если указано полное имя, которое включает в себя пакет и имя класса, компилятор может легко найти исходный код или классы. Оператор импорта — это способ указать правильное место для компилятора, чтобы найти этот конкретный класс.

Например, следующая строка попросит компилятор загрузить все классы, доступные в каталоге java_installation/java/io —

import java.io.*;

Простой пример

Для нашего примера мы создадим два класса. Это Сотрудник и СотрудникТест.

Сначала откройте блокнот и добавьте следующий код. Помните, что это класс Employee, и этот класс является общедоступным. Теперь сохраните исходный файл под именем Employee.java.

Класс Employee имеет четыре переменных экземпляра:имя, возраст, должность и зарплата. Класс имеет один явно определенный конструктор, который принимает параметр.

Пример

import java.io.*;
public class Employee {

   String name;
   int age;
   String designation;
   double salary;

   // This is the constructor of the class Employee
   public Employee(String name) {
      this.name = name;
   }

   // Assign the age of the Employee  to the variable age.
   public void empAge(int empAge) {
      age = empAge;
   }

   /* Assign the designation to the variable designation.*/
   public void empDesignation(String empDesig) {
      designation = empDesig;
   }

   /* Assign the salary to the variable	salary.*/
   public void empSalary(double empSalary) {
      salary = empSalary;
   }

   /* Print the Employee details */
   public void printEmployee() {
      System.out.println("Name:"+ name );
      System.out.println("Age:" + age );
      System.out.println("Designation:" + designation );
      System.out.println("Salary:" + salary);
   }
}

Как упоминалось ранее в этом руководстве, обработка начинается с основного метода. Следовательно, для того, чтобы мы могли запустить этот класс Employee, должен быть метод main и должны быть созданы объекты. Для этих задач мы создадим отдельный класс.

Ниже приведен EmployeeTest. class, который создает два экземпляра класса Employee и вызывает методы для каждого объекта для присвоения значений каждой переменной.

Сохраните следующий код в файле EmployeeTest.java.

import java.io.*;
public class EmployeeTest {

   public static void main(String args[]) {
      /* Create two objects using constructor */
      Employee empOne = new Employee("James Smith");
      Employee empTwo = new Employee("Mary Anne");

      // Invoking methods for each object created
      empOne.empAge(26);
      empOne.empDesignation("Senior Software Engineer");
      empOne.empSalary(1000);
      empOne.printEmployee();

      empTwo.empAge(21);
      empTwo.empDesignation("Software Engineer");
      empTwo.empSalary(500);
      empTwo.printEmployee();
   }
}

Теперь скомпилируйте оба класса и запустите EmployeeTest. чтобы увидеть результат следующим образом –

Вывод

C:\> javac Employee.java
C:\> javac EmployeeTest.java
C:\> java EmployeeTest
Name:James Smith
Age:26
Designation:Senior Software Engineer
Salary:1000.0
Name:Mary Anne
Age:21
Designation:Software Engineer
Salary:500.0

Что дальше?

На следующем занятии мы обсудим основные типы данных в Java и то, как их можно использовать при разработке приложений Java.


java

  1. Класс и объект С#
  2. Классы и объекты С++
  3. Дружественные функции C++ и дружественные классы
  4. Переменные и литералы Java
  5. Java-класс и объекты
  6. Окончательное ключевое слово Java
  7. Оператор экземпляра Java
  8. Абстрактный класс Java и абстрактные методы
  9. Вложенный и внутренний класс Java
  10. Анонимный класс Java