บทช่วยสอน วัตถุ Java และการเรียน ที่ดีที่สุดในปี 2024 ในบทช่วยสอนนี้ คุณสามารถเรียนรู้ วัตถุ Java,เรียน Java,นวกรรมิก,สร้างวัตถุ,ตัวแปรเช่นการเข้าถึงและวิธีการ,ตัวอย่าง,กฎการประกาศแฟ้มแหล่งที่มา,แพคเกจ Java,งบนำเข้า,ตัวอย่างง่ายๆ,

วัตถุ Java และการเรียน

Java เป็นภาษาเชิงวัตถุ มันสนับสนุนแนวคิดพื้นฐานต่อไปนี้:

  • polymorphism
  • สืบทอด
  • บรรจุภัณฑ์
  • นามธรรม
  • หมวดหมู่
  • วัตถุ
  • ตัวอย่าง
  • ทาง
  • ล้นมือ

ในส่วนนี้เรามุ่งเน้นไปที่แนวคิดของวัตถุและชั้นเรียน

  • วัตถุ: วัตถุที่เป็นตัวอย่างของชั้นเรียน (วัตถุไม่ได้ที่จะหาแฟน) มีรัฐและพฤติกรรม ยกตัวอย่างเช่นสุนัขเป็นวัตถุที่มีรัฐเป็นสีชื่อสายพันธุ์พฤติกรรม: กระดิกหางของมันเรียกว่ากินและอื่น ๆ
  • ประเภท: ชั้นเป็นแม่แบบที่อธิบายพฤติกรรมของชั้นเรียนของวัตถุและสถานะที่

เด็กชายและเด็กหญิงด้านล่างตัวเลขสำหรับชั้นเรียนและเฉพาะสำหรับแต่ละระดับของวัตถุเทียม:


วัตถุ Java

ตอนนี้ให้เราเข้าใจสิ่งที่เป็นวัตถุ มองไปรอบ ๆ โลกแห่งความจริงคุณจะพบรอบมากของวัตถุ, รถยนต์, สุนัข, คน, และอื่น ๆ ทั้งหมดของวัตถุเหล่านี้มีสถานะของตัวเองและพฤติกรรม

เพื่อที่จะใช้สุนัขเช่นนั้นกล่าวคือชื่อสายพันธุ์สีพฤติกรรมที่เรียกว่าแกว่งหางของมันและวิ่ง

เปรียบเทียบวัตถุจริงและวัตถุซอฟแวร์จะคล้ายกันมากระหว่างพวกเขา

ซอฟท์แววัตถุมีสถานะและพฤติกรรม วัตถุซอฟต์แวร์รัฐคือการแสดงที่มาของพฤติกรรมโดยวิธีการแสดงออก

ในการพัฒนาซอฟแวร์, โทรหากันเพื่อเปลี่ยนวิธีการในการดำเนินงานของรัฐภายในของวัตถุวัตถุที่สามารถทำได้โดยวิธีการ

เรียน Java

ชั้นสามารถมองเห็นเป็นแม่แบบในการสร้างวัตถุจาวา

โดยทำตามคำนิยามที่ระดับง่ายต่อการเข้าใจ Java ในชั้นเรียน:

public class Dog{
   String breed;
   int age;
   String color;
   void barking(){
   }
   
   void hungry(){
   }
   
   void sleeping(){
   }
}

ชั้นสามารถมีต่อไปนี้ประเภทของตัวแปร:

  • ตัวแปรท้องถิ่น: ตัวแปรในวิธีการคอนสตรัคหรือคำสั่งคำจำกัดความบล็อกเรียกว่าตัวแปรท้องถิ่น ตัวแปรที่มีการประกาศและเริ่มต้นได้ในวิธีการที่หลังจากการสิ้นสุดของวิธีการที่ตัวแปรจะถูกทำลายโดยอัตโนมัติ
  • ตัวแปรสมาชิก: ตัวแปรสมาชิกชั้นเรียนจะมีการกำหนดตัวแปรภายนอกร่างกายวิธีการ ตัวแปรนี้จะถูกสร้างขึ้นเมื่อวัตถุถูก instantiated ตัวแปรสมาชิกสามารถเข้าถึงได้ในวิธีการบล็อกคำสั่งชั้นก่อสร้างและวิธีการของการเรียนโดยเฉพาะอย่างยิ่ง
  • ตัวแปรระดับ: ตัวแปรระดับที่ประกาศในชั้นเรียนวิธีการอื่นนอกเหนือจากร่างกาย แต่ต้องได้รับการประกาศให้เป็นประเภทคงที่

ชั้นสามารถมีหลายวิธีในตัวอย่างข้างต้น: เห่า () หิว () และการนอนหลับ () เป็นระดับสุนัข


นวกรรมิก

แต่ละชั้นจะมีผู้สร้าง หากคุณไม่ได้กำหนดอย่างชัดเจนคอนสตรัคชั้น, Java คอมไพเลอร์จะช่วยให้การสร้างเริ่มต้นสำหรับชั้นเรียน

การสร้างวัตถุอย่างน้อยที่จะถูกเรียกตัวสร้าง ชื่อของผู้สร้างจะต้องเป็นชื่อเดียวกับชื่อชั้นระดับสามารถมีการก่อสร้างหลาย

นี่คือตัวอย่างของคอนสตรัคนี้:

public class Puppy{
   public Puppy(){
   }

   public Puppy(String name){
      // 这个构造器仅有一个参数:name
   }
}

สร้างวัตถุ

วัตถุที่ถูกสร้างขึ้นบนพื้นฐานของการเรียน ใน Java ใช้คำหลักใหม่ในการสร้างวัตถุใหม่ สร้างวัตถุต้องสามขั้นตอนต่อไปนี้:

  • Disclaimer: ประกาศวัตถุรวมทั้งชื่อวัตถุและชนิดของวัตถุ
  • ตัวอย่าง: คำหลักใหม่ในการสร้างวัตถุ
  • เริ่มต้น: สร้างวัตถุใหม่ที่ใช้สร้างการเริ่มต้นเพื่อเริ่มต้นวัตถุจะถูกเรียกว่า

นี่คือตัวอย่างของการสร้างวัตถุ:

public class Puppy{
   public Puppy(String name){
      //这个构造器仅有一个参数:name
      System.out.println("Passed Name is :" + name ); 
   }
   public static void main(String []args){
      // 下面的语句将创建一个Puppy对象
      Puppy myPuppy = new Puppy( "tommy" );
   }
}

รวบรวมและเรียกใช้โปรแกรมดังกล่าวข้างต้นจะพิมพ์ผลต่อไปนี้:

Passed Name is :tommy

ตัวแปรเช่นการเข้าถึงและวิธีการ

ในการเข้าถึงตัวแปรสมาชิกและวิธีการสมาชิกผ่านวัตถุได้ถูกสร้างขึ้นดังต่อไปนี้:

/* 实例化对象 */
ObjectReference = new Constructor();
/* 访问其中的变量 */
ObjectReference.variableName;
/* 访问类中的方法 */
ObjectReference.MethodName();

ตัวอย่าง

ตัวอย่างต่อไปนี้แสดงให้เห็นถึงวิธีการเข้าถึงตัวแปรเช่นและวิธีสมาชิกโทร:

public class Puppy{
   int puppyAge;
   public Puppy(String name){
      // 这个构造器仅有一个参数:name
      System.out.println("Passed Name 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){
      /* 创建对象 */
      Puppy myPuppy = new Puppy( "tommy" );
      /* 通过方法来设定age */
      myPuppy.setAge( 2 );
      /* 调用另一个方法获取age */
      myPuppy.getAge( );
      /*你也可以像下面这样访问成员变量 */
      System.out.println("Variable Value :" + myPuppy.puppyAge ); 
   }
}

รวบรวมและเรียกใช้โปรแกรมดังกล่าวข้างต้นก่อให้เกิดผลลัพธ์ต่อไปนี้:

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

กฎการประกาศแฟ้มแหล่งที่มา

ในส่วนสุดท้ายของส่วนนี้เราจะได้เรียนรู้กฎระเบียบประกาศแฟ้มแหล่งที่มา เมื่อคุณกำหนดหลายชั้นเรียนในแฟ้มแหล่งหนึ่งและมีงบนำเข้าและงบแพคเกจให้ความสนใจเป็นพิเศษกับกฎเหล่านี้

  • แฟ้มแหล่งที่สามารถมีได้เพียงหนึ่งชั้นเรียนของประชาชน
  • แฟ้มแหล่งที่สามารถมีชั้นเรียนที่ไม่ใช่แบบสาธารณะหลาย
  • ชื่อแฟ้มแหล่งที่มาและชื่อชั้นเรียนสาธารณะควรจะสอดคล้อง ตัวอย่างเช่นชื่อชั้นในแฟ้มแหล่งที่มาชั้นของประชาชนเป็นลูกจ้างแล้วแฟ้มแหล่งที่มาควรตั้งชื่อ Employee.java
  • ถ้าระดับที่กำหนดไว้ในแพคเกจ, แพคเกจคำสั่งจะต้องเป็นบรรทัดแรกของแฟ้มแหล่งที่มา
  • ถ้าแฟ้มแหล่งที่มาที่มีคำสั่งนำเข้าคำสั่งควรอยู่ระหว่างแพคเกจและนิยามคลาส ถ้าไม่มีคำสั่งแพคเกจงบนำเข้าควรจะเป็นสิ่งสำคัญที่สุดในแฟ้มแหล่งที่มา
  • งบแพคเกจนำเข้าและงบของทุกชั้นที่กำหนดไว้ในแฟ้มแหล่งที่มาที่ถูกต้อง ในแฟ้มแหล่งที่มาเดียวกันไม่ให้เรียนแตกต่างกันของคำสั่งแพคเกจต่างๆ

มีหลายระดับของการเรียนการเข้าถึงมีและชั้นเรียนสามารถแบ่งออกเป็นประเภทที่แตกต่างกัน: คลาสนามธรรมและการเรียนสุดท้ายและไม่ชอบ เหล่านี้จะอธิบายไว้ในส่วนการควบคุมการเข้าถึง

นอกจากนี้ในประเภทดังกล่าวข้างต้น, Java มีบางประเภทพิเศษเช่น: เรียนชั้นเรียนที่ไม่ระบุชื่อ


แพคเกจ Java

แพคเกจส่วนใหญ่จะใช้ในการจัดกลุ่มการเรียนและการเชื่อมต่อ เมื่อคุณพัฒนาโปรแกรม Java สามารถเขียนหลายร้อยของการเรียนดังนั้นจึงมีความจำเป็นที่จะจัดชั้นเรียนและการเชื่อมต่อ

งบนำเข้า

ใน Java หากได้รับชื่อที่มีคุณสมบัติครบถ้วนรวมทั้งชื่อแพคเกจที่ชื่อชั้นแล้วคอมไพเลอร์ Java สามารถค้นหารหัสแหล่งที่มาหรือหมวดหมู่ คำสั่งนำเข้าจะใช้เพื่อให้เส้นทางที่เหมาะสมเพื่อให้คอมไพเลอร์สามารถหาชั้นเรียน

ยกตัวอย่างเช่นคำสั่งบรรทัดคำสั่งดังต่อไปนี้คอมไพเลอร์จะโหลดทุกชั้นเรียน java_installation / java / เส้นทาง IO ของ

import java.io.*;

ตัวอย่างง่ายๆ

ในตัวอย่างนี้เราจะสร้างสองชั้นเรียน: พนักงานและ EmployeeTest

ก่อนเปิดโปรแกรมแก้ไขข้อความไปวางรหัสต่อไปนี้เป็นมัน หมายเหตุบันทึกแฟ้มเป็น Employee.java

ระดับพนักงานมีตัวแปรสี่สมาชิก: ชื่ออายุและการกำหนดเงินเดือน ระดับประกาศแน่ชัดว่าวิธีการคอนสตรัคซึ่งเป็นเพียงหนึ่งพารามิเตอร์

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:"+ name );
      System.out.println("Age:" + age );
      System.out.println("Designation:" + designation );
      System.out.println("Salary:" + salary);
   }
}

การทำงานของโปรแกรมจะเริ่มจากวิธีการหลัก เพื่อเรียกใช้โปรแกรมและจะต้องมีวิธีการหลักสร้างอินสแตนซ์ของวัตถุ

นี่เป็นระดับชั้น EmployeeTest, ยกตัวอย่างสองกรณีของระดับพนักงานและเรียกวิธีการในการตั้งค่าของตัวแปร

รหัสต่อไปนี้จะถูกเก็บไว้ในแฟ้ม EmployeeTest.java

import java.io.*;
public class EmployeeTest{

   public static void main(String args[]){
      /* 使用构造器创建两个对象 */
      Employee empOne = new Employee("James Smith");
      Employee empTwo = new Employee("Mary Anne");

      // 调用这两个对象的成员方法
      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 :> vi EmployeeTest.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 และการเรียน
10/30