Latest web development tutorials
×

Java หลักสูตร

Java หลักสูตร Java แนะนำโดยย่อ Java การกำหนดค่าการพัฒนาสภาพแวดล้อม Java พื้นฐานไวยากรณ์ Java วัตถุและการเรียน Java ชนิดข้อมูลพื้นฐาน Java ประเภทตัวแปร Java การปรับเปลี่ยน Java ผู้ประกอบการ Java โครงสร้างห่วง Java สาขาโครงสร้าง Java Number หมวดหมู่ Java Character หมวดหมู่ Java String หมวดหมู่ Java StringBuffer Java แถว Java วันที่เวลา Java นิพจน์ปกติ Java ทาง Java Stream,File,IO Java Scanner หมวดหมู่ Java การจัดการข้อยกเว้น

Java เชิงวัตถุ

Java สืบทอด Java Override/Overload Java polymorphism Java ระดับนามธรรม Java บรรจุภัณฑ์ Java อินเตอร์เฟซ Java บรรจุภัณฑ์

Java การสอนที่ทันสมัย

Java โครงสร้างข้อมูล Java คอลเลกชันกรอบ Java ยาชื่อสามัญ Java การทำให้เป็นอันดับ Java เขียนโปรแกรมเครือข่าย Java ส่ง Email Java การเขียนโปรแกรมแบบมัลติเธรด Java Appletรากฐาน Java เอกสารความคิดเห็น Java ตัวอย่าง Java 8 คุณสมบัติใหม่ Java MySQL สัมพันธ์

วัตถุ 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