Get Started. It's Free
or sign up with your email address
JAVA by Mind Map: JAVA

1. Classes and Objects

1.1. Class

1.1.1. Fields

1.1.1.1. ตัวแปร ตัวแปรใช้สำหรับเก็บข้อมูลต่างๆ เกี่ยวกับออบเจ็ค

1.1.2. Method

1.1.2.1. จะเป็นการกำหนดฟังก์ชันการทำงานของ Object

1.2. Object

1.2.1. variable

1.2.2. fields

1.3. Constructor

1.3.1. เมธอดพิเศษที่จะทำงานเมื่อออบเจ็คถูกสร้างขึ้น เรามักใช้คอนสตัคเตอร์ในการกำหนดค่าเริ่มต้นให้กับออบเจ็ค ตัวอย่างการสร้างและใช้งานคอนสตรัคเตอร์ในภาษา Java

2. Inheritance

2.1. เป็นคุณสมบัติในการเขียนโปรแกรมเชิงวัตถุที่เรียกว่าคุณสมบัติการสืบทอด โดยที่คลาสสามารถสืบทอดสมาชิกของมันจากคลาสหลัก (super class) ไปยังคลาสย่อย (delivered class) โดยการสืบทอดในภาษา Java นั้นสมาชิกทั้งหมดจะถูกสืบทอดไปยังคลาสย่อย ยกเว้นสมาชิกที่มีระดับการเข้าถึงเป็น private และ constructor ของมัน

2.2. สร้าง Inheritance คลาส

2.2.1. class Person { String name; int age; public Person () { } public Person (String name, int age) { this.name = name; this.age = age; } public void introduce () { System.out.println("My name is " + name); } }

2.3. Overriding Super Class

2.3.1. class Artist extends Person { String genre; public Artist (String name, int age){ this.name = name; this.age = age; } @Override public void introduce () { System.out.println("My name is " + name); System.out.println("I'm an artist."); } public void playMusic () { System.out.println(name + " is playing " + genre + " music."); } }

2.4. Super

2.4.1. class Artist extends Person { String genre; public Artist (String name, int age){ super(name, age); } @Override public void introduce () { super.introduce(); System.out.println("I'm an artist."); } public void playMusic () { System.out.println(name + " is playing " + genre + " music."); } }

3. Polymorphism

3.1. การที่ออบเจ็คสามารถมีได้หลายรูปแบบ ซึ่งเกิดจากการสืบทอดจาก super class และมันยังคงรักษาสภาพและคุณสมบัติของ super class ไว้ เช่น ผู้คนในโลก จะมีทั้งนักกีฬา นักร้อง นักดนตรี ซึ่งมันก็คือการมีหลายรูปแบบทางอาชีพของบุคคล ซึ่งเราสามารถใช้คำว่า บุคคล ในการอ้างถึงคนในอาชีพต่างๆ ได้ ซึ่งเป็นแนวคิดของ polymorphism ในการเขียนโปรแกรม ซึ่งมันความหมายของมันคือการมีได้หลายรูปแบบ

3.1.1. import java.util.ArrayList; public class Polymorphism { public static void main(String[] args) { ArrayList<Shape> shapes = new ArrayList<Shape>(); shapes.add(new Rectangle()); shapes.add(new Triangle()); for (Shape shape : shapes) { drawShape(shape); } } public static void drawShape(Shape shape) { shape.draw(); } } class Shape { public void draw() { System.out.println("Perform draw from base class"); } } class Rectangle extends Shape { @Override public void draw() { System.out.println("Draw rectangle"); super.draw(); } } class Triangle extends Shape { @Override public void draw() { System.out.println("Draw triangle"); super.draw(); } }

4. Generic Classes and Methods

4.1. การสร้างคลาสและเมธอดให้สามารถรองรับ ค่าพารามิเตอร์ที่ต่างชนิดกันได

5. Control Structures

5.1. Sequential control

5.1.1. เป็นโครงสร้างของคำสั่งที่คอมพิวเตอร์จะทำงานไปตามลำดับที่เขียนไว้ ถ้าไม่ได้เปลี่ยนขั้นตอนการทำงานหรือมีเงื่อนไขเพิ่มเติม

5.2. Selection structure

5.2.1. โครงสร้างแบบทางเลือก if คือ โครงสร้างสำหรับใช้เลือกทำคำสั่ง (หรือกลุ่มคำสั่ง) โดยอาศัยการตรวจสอบเงื่อนไข

5.3. Repetition structure

5.3.1. โครงสร้างแบบการทำซ้ำ while

5.3.1.1. เป็นโครงสร้างที่ใช้ในการทำซ้ำคำสั่งต่าง ๆ โดยจะมีการตรวจสอบเงื่อนไข ซึ่ง ◦กรณีที่ผลลัพธ์ของเงื่อนไขไม่เท่ากับศูนย์ (จริง) จะทำคำสั่งหรือกลุ่มคำสั่งในแต่ละรอบ ◦ส่วนกรณีที่ผลลัพธ์ของเงื่อนไขเท่ากับศูนย์ (เท็จ) จะหยุดทำคำสั่งหรือกลุ่มคำสั่งในรอบ โดยข้ามไปทำคำสั่งถัดไปจากรอบของโครงสร้าง while เลย

5.3.2. โครงสร้างแบบการทำซ้ำ do/while

5.3.2.1. โครงสร้างแบบการทำซ้ำ while และ for จะต้องมีการตรวจสอบค่าของเงื่อนไขก่อนว่าเป็นจริงหรือเท็จ ก่อนที่จะทำคำสั่ง (กลุ่มคำสั่ง) ภายในรอบ แต่การทำงานบางลักษณะจะต้องทำคำสั่งภายในรอบก่อนอย่างน้อย 1 ครั้ง ซึ่งการทำงานในลักษณะที่กล่าวนี้สามารถใช้คำสั่ง do-while ได้

5.3.3. โครงสร้างแบบการทำซ้ำ for

5.3.3.1. เป็นโครงสร้างที่ใช้สำหรับทำซ้ำคำสั่ง โดยการทำงานของการทำซ้ำ จะขึ้นอยู่กับองค์ประกอบที่สำคัญ 3 ส่วนคือ 1. ค่าเริ่มต้นของตัวแปรควบคุมการทำซ้ำ 2. ส่วนตรวจสอบเงื่อนไข 3. ส่วนเปลี่ยนแปลงค่าของตัวแปรควบคุมการทำซ้ำ

6. Collections

6.1. คือออบเจ็คที่สามารถเก็บข้อมูลของออบเจ็คอื่นในตัวมันได้แบบไดนามิกส์ และเป็นเครื่องมืออำนวยความสะดวกที่จะช่วยให้โปรแกรมเมอร์เขียนโปรแกรมได้รวดเร็วและมีประสิทธิกว่า

6.2. Array list

6.2.1. Array list คือ Collection ที่ใช้เก็บข้อมูลเหมือนอาเรย์ปกติ แต่สิ่งที่แตกต่างกันคือ Array list สามารถย่อและขยายของมันได้อัตโนมัติตามข้อมูลที่มีอยู่ภายใน นั่นเองทำให้มันยืดหยุ่นในการทำงานเพราะไม่ต้องกำหนดขนาดสูงสุดล่วงหน้าเหมือนกับอาเรย์ปกติ มันถูกสืบทอดมาจาก Abstract list คลาส และมีการ Implement Collection Interfaces สำหรับเมธอดการทำงานของมัน ต่อไปเป็นตัวอย่างการใช้งาน Array list ในภาษา Java

6.3. Maps

6.3.1. Maps เป็น Collection ที่มีรูปแบบในการเก็บข้อมูลเป็นแบบ Key Value และเป็นคลาสที่ Implement มาจาก java.util.Map Interface ในภาษา Java นั้นมี Map หลายประเภท แต่ที่ใช้บ่อยๆ คือ HashMap และ TreeMap โดยที่ HashMap จะเก็บข้อมูลโดยไม่มีการเรียงของ Key และ Value ส่วน TreeMap จะมีการเรียงข้อมูลภายใน ทำให้การเข้าถึงข้อมูลภายใน Map จะเร็วกว่า ในทางกลับกัน HashMap นั้นการเพิ่มข้อมูลจะเร็วกว่า ต่อไปเป็นตัวอย่างในการใช้ Map ในภาษา Java

6.4. Stack

6.4.1. Stack คือโครงสร้างข้อมูลที่ใช้ในการเก็บข้อมูลในรูปแบบ First in last out (FILO) ข้อมูลที่ถูกใส่เข้าไปใส Stack เป็นอันแรกนั้นจะนำออกได้ทีหลัง นั้นคือเราสามารถนำเข้ามูลเข้าออกได้ทางเดียว ในการทำงานกับ Stack เมื่อเราข้อมูลใส่ลงไปใน Stack จะเรียกว่า Push และเมื่อนำข้อมูลออกมาจาก Stack เรียกว่า Pop เราสามารถจัดการกับข้อมูลที่อยู่ด้านบนสุดของ Stack ได้เท่านั้น

7. Events and GUI Programming

7.1. พื้นฐาน Java สร้าง Controls บน GUI และการสร้าง Action Event Handler กับ Controls พื้นฐาน Java สร้าง Controls บน GUI และการสร้าง Action Event Handler กับ Controls บทความก่อนหน้านี้เราได้ทำการสร้าง Form ด้วย JFrame ผ่าน Netbeans หรือ Eclipse เป็นมุมมองผ่าน Visual GUI และจะทำการ Generate Code ของ Java ให้อัตโนมัติ และบางครั้งหรือบ่อยครั้ง เราจำเป็นที่จะต้องรู้ด้วยว่า Control เหล่านั้น กว่าที่จะสร้างมาได้เป็นหน้าจอสวย ๆ และ Event ต่าง ๆ จะต้องเขียน Code อย่างไรบ้าง เช่น การสร้าง Control ของ Label ลงใน Form การสร้าง Button และการสร้าง Event Action ที่ผ่านการ Click เป็นต้น

8. Exceptions

8.1. การที่โปรแกรมพยายามจะทำงานบางอย่าง แต่เกิดข้อผิดพลาดขึ้น แล้วโปรแกรมไม่สามารถจัดการข้อผิดพลาดนั้นได้ ซึ่งทำให้เกิด exception ขึ้น และส่งผลทำให้โปรแกรมหยุดทำงาน

8.2. การใช้คำสั่ง try catch เพื่อจัดการ exception

8.2.1. import java.util.InputMismatchException; import java.util.Scanner; public class TestException1 { public static void main (String[] args) { Scanner reader = new Scanner(System.in); int x; try { System.out.print("Enter number: "); x = reader.nextInt(); System.out.println("Your number is " + x); } catch (InputMismatchException ex) { System.out.println("Exception occurred: " + ex); } } }

8.3. การใช้คำสั่ง Finally

8.3.1. import java.io.BufferedReader; import java.io.File; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; public class TestFileException { public static void main(String[] args) { File file = new File("file.txt"); BufferedReader reader = null; try { reader = new BufferedReader(new FileReader(file)); String text = null; while ((text = reader.readLine()) != null) { System.out.println(text); } } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { try { if (reader != null) { reader.close(); } } catch (IOException e) { } } } }