สมัครเรียนโทร. 085-350-7540 , 084-88-00-255 , ntprintf@gmail.com

Java

การติดตั้งโปรแกรม Eclipse เริ่มใช้งานโปรแกรมแรกบน Eclipse การเลือกทำหรือคำสั่งเงื่อนไข คำสั่งลูป (Loop) หรือการทำงานซ้ำ อาร์เรย์ (Array) อาร์เรย์ 2 มิติ ฟังก์ชัน (Function) การเรียกใช้ฟังก์ชัน อ็อปเจ็ค (Objects) สตริง (String) คอนสตรัคเตอร์ (Constructor) การเขียนโปรแกรมเชิงวัตถุ Object Oriented Programming (OOP) การเขียนโปรแกรมเชิงวัตถุ 2 (OOP2) ความผิดปกติ (Exeption) การอ่านเขียนแฟ้มข้อมูล Stream I/O เธรด (Thread) เจอเนริค (Generic) Graphic User Interface (GUI) Graphic User Interface (GUI) 2 Graphic User Interface (GUI) 3 ดาวน์โหลดและใช้งาน WindowBuilder การจัดการอีเวนท์ (Event Handling) การจัดการข้อมูลด้วยระบบฐานข้อมูล แผนภาพ E-R (Entity-Relationship Diagram) แผนภาพ E-R และความสัมพันธ์ การใช้งาน Xampp การเชื่อมฐานข้อมูลกับจาวาด้วย JDBC การทำ MVC ภาษา SQL การใช้งาน Linked List ในภาษา Java: เทคนิคและประโยชน์ ประเด็นท้าทายในการจัดการข้อมูลด้วย Linked List บน Java การใช้ Java เพื่อการสร้างและจัดการ Doubly Linked List อย่างมีประสิทธิภาพ แนวทางการเขียน Doubly Linked List ในภาษา Java กับตัวอย่างที่ประยุกต์ใช้งานได้จริง เทคนิคการเขียนโค้ดเพื่อการจัดการข้อมูลแบบไดนามิคใน Java ผ่าน Linked List เทคนิคการเขียนโค้ดเพื่อการจัดการข้อมูลแบบไดนามิคใน Java ผ่าน Doubly Linked List เทคนิคการเขียนโค้ดเพื่อการจัดการข้อมูลแบบไดนามิคใน Java ผ่าน Double Ended Queue เทคนิคการเขียนโค้ดเพื่อการจัดการข้อมูลแบบไดนามิคใน Java ผ่าน ArrayList เทคนิคการเขียนโค้ดเพื่อการจัดการข้อมูลแบบไดนามิคใน Java ผ่าน Queue เทคนิคการเขียนโค้ดเพื่อการจัดการข้อมูลแบบไดนามิคใน Java ผ่าน Stack เทคนิคการเขียนโค้ดเพื่อการจัดการข้อมูลแบบไดนามิคใน Java ผ่าน Tree เทคนิคการเขียนโค้ดเพื่อการจัดการข้อมูลแบบไดนามิคใน Java ผ่าน Binary Search Tree เทคนิคการเขียนโค้ดเพื่อการจัดการข้อมูลแบบไดนามิคใน Java ผ่าน AVL Tree เทคนิคการเขียนโค้ดเพื่อการจัดการข้อมูลแบบไดนามิคใน Java ผ่าน Self-Balancing Tree เทคนิคการเขียนโค้ดเพื่อการจัดการข้อมูลแบบไดนามิคใน Java ผ่าน Heap เทคนิคการเขียนโค้ดเพื่อการจัดการข้อมูลแบบไดนามิคใน Java ผ่าน Hash เทคนิคการเขียนโค้ดเพื่อการจัดการข้อมูลแบบไดนามิคใน Java ผ่าน Priority Queue เทคนิคการเขียนโค้ดเพื่อการจัดการข้อมูลแบบไดนามิคใน Java ผ่าน Seperate Chaining Hashing เทคนิคการเขียนโค้ดเพื่อการจัดการข้อมูลแบบไดนามิคใน Java ผ่าน Linear Probing Hashing เทคนิคการเขียนโค้ดเพื่อการจัดการข้อมูลแบบไดนามิคใน Java ผ่าน Quadratic Probing Hashing เทคนิคการเขียนโค้ดเพื่อการจัดการข้อมูลแบบไดนามิคใน Java ผ่าน Red-Black Tree เทคนิคการเขียนโค้ดเพื่อการจัดการข้อมูลแบบไดนามิคใน Java ผ่าน Sisjoint Set เทคนิคการเขียนโค้ดเพื่อการจัดการข้อมูลแบบไดนามิคใน Java ผ่าน Set Dijkstra Algorithm: จักรวาลแห่งการค้นหาเส้นทางสั้นสุด** Bellman Ford Algorithm กับการประยุกต์ใช้ในโลกจริง Greedy Algorithm in Java Dynamic Programming in Java Divide and Conquer ในโลกของการเขียนโปรแกรมด้วย Java สาระน่ารู้เกี่ยวกับ Memorization ในการเขียนโปรแกรมด้วย Java ค้นหาแบบกว้างด้วย Breadth-First Search (BFS) ใน Java Depth First Search (DFS) กับเทคนิคการค้นหาลึกในโลกแห่งข้อมูล Backtracking in Java Branch and Bound Algorithm และการประยุกต์ใช้ในโลกจริง การค้นหาในพื้นที่สถานะ (State Space Search) ด้วยภาษา Java: ข้อมูลพื้นฐานและการใช้งาน Permutation in Java Set Partition in Java การค้นหาแบบเชิงเส้น (Linear Search) ในสายตาของนักพัฒนาชาว Java Binary Search: จุดเริ่มต้นของการค้นหาอย่างชาญฉลาด** Generating All Subsets Using Brute Force กับภาษา Java** การแก้ปัญหาอย่างตรงไปตรงมาด้วย Brute Force Algorithm ในภาษา Java เจาะลึกปัญหา 8 Queens กับการประยุกต์ใช้ Algorithm ในภาษา Java** พิชิตปัญหา Knights Tour Problem ด้วยภาษา Java Travelling Salesman Problem: สุดยอดคำถามแห่งนักเดินทางในโลกของการเขียนโปรแกรม String Matching Algorithm ช่วยค้นหาข้อมูลได้ง่ายดายยิ่งขึ้น ประสานงานค้นหาจุดสำคัญของเครือข่ายด้วย Articulation Points ในภาษา Java การเรียนรู้ต้นไม้ประเภท Minimum Spanning Tree ผ่านภาษา Java Minimum Cost Flow Algorithm in Java CLIQUE Algorithm และการใช้งานในโลกโปรแกรมมิ่ง Sum of Products Algorithm และการใช้งานสำหรับปัญหาการคำนวณ A* Algorithm การค้นหาทางลัดไปยังจุดหมายในโลกการเขียนโปรแกรม The Perfect Matching - The Hungarian Method และการประยุกต์ใช้ใน Java Ford-Fulkerson Algorithm กับการค้นหา Maximum Flow ในเครือข่าย** ลำดับความคิดในการเข้าใจ B* Algorithm และการประยุกต์ใช้ด้วย Java ความลับเบื้องหลัง D* Algorithm และการนำไปใช้ประโยชน์ในโลกของการเขียนโปรแกรม F* Algorithm: การรวมสองอาร์เรย์ในภาษา Java ความเข้าใจพื้นฐานใน Minimax Algorithm และการประยุกต์ใช้ในเกมแบบผลัดกันเล่น การใช้ Gaussian Elimination ในการแก้ระบบสมการเชิงเส้นโดยใช้ภาษา Java ศาสตร์แห่งความไม่แน่นอน กับ Randomized Algorithm ในโลกแห่งการเขียนโปรแกรม ความเป็นมาและความหมายของ Monte Carlo Algorithm สำรวจ Newtons Method ผ่านภาษา Java การเรียนรู้การวางรากฐานทางคณิตศาสตร์ในงานโปรแกรมมิ่งด้วย Mullers Method ในภาษา Java ปฏิวัติการประมวลผลข้อมูลด้วย RANSAC ในภาษา Java ปริศนาของพาติเคิลฟิลเตอร์: การแก้ปัญหาด้วยอัลกอริทึมที่มีชีวิต Las Vegas Algorithm: กลยุทธ์การแก้ปัญหาที่ไม่เข้าเล่นไม่ได้! ทำความเข้าใจ Quick Sort กับ Java: Algorithm ที่รวดเร็วสำหรับการเรียงลำดับข้อมูล ความเป็นมาและการทำงานของ Selection Sort ในภาษา Java บทเรียนจากการเรียงลำดับข้อมูลในโลกแห่งการเขียนโปรแกรม การเรียงลำดับข้อมูลด้วย Insertion Sort ในภาษา Java Merge Sort การลำดับความเรียงเรียบอันประทับใจด้วยภาษา Java Voronoi Diagram ในภาษา Java: อัลกอริทึมสุดวิเศษสำหรับการแก้ปัญหาทางเรขาคณิต** loop คืออะไร การใช้งาน loop ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง nested loop คืออะไร การใช้งาน nested loop ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง loop and if-else inside loop คืออะไร การใช้งาน loop and if-else inside loop ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง math function sqrt sin cos tan คืออะไร การใช้งาน math function sqrt sin cos tan ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง for each คืออะไร การใช้งาน for each ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง dynamic typing variable คืออะไร การใช้งาน dynamic typing variable ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง function คืออะไร การใช้งาน function ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง return value from function คืออะไร การใช้งาน return value from function ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง parameter of function คืออะไร การใช้งาน parameter of function ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง sending function as variable คืออะไร การใช้งาน sending function as variable ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง array คืออะไร การใช้งาน array ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง array 2d คืออะไร การใช้งาน array 2d ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง dynamic array คืออะไร การใช้งาน dynamic array ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง OOP object oriented programming คืออะไร การใช้งาน OOP object oriented programming ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง class and instance คืออะไร การใช้งาน class and instance ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง calling instance function คืออะไร การใช้งาน calling instance function ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง constructor คืออะไร การใช้งาน constructor ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง set and get function and OOP concept คืออะไร การใช้งาน set and get function and OOP concept ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง encapsulation in OOP concept คืออะไร การใช้งาน encapsulation in OOP concept ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง polymorphism in OOP concept คืออะไร การใช้งาน polymorphism in OOP concept ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง accesibility in OOP concept คืออะไร การใช้งาน accesibility in OOP concept ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง inheritance in OOP concept คืออะไร การใช้งาน inheritance in OOP concept ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง multiple inheritance in OOP concept คืออะไร การใช้งาน multiple inheritance in OOP concept ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง useful function of string คืออะไร การใช้งาน useful function of string ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง useful function of array คืออะไร การใช้งาน useful function of array ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง file คืออะไร การใช้งาน file ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง read file คืออะไร การใช้งาน read file ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง write file คืออะไร การใช้งาน write file ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง append file คืออะไร การใช้งาน append file ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน static method ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน create simple game ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน generic and generic collection ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Read binary file ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Write binary file ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Export data to json ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Export data to XML ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Append binary file ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Create simple question and answer program ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน List ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Map ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Set ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Math abs ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Math atan2 ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Dictionary ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Multi-Thread ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Asynchronous programming ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Functional programming ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Class and object ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Operator ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Operator precedence ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Comparison operator ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Bitwise operator ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Approximation sine by Taylor series ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Approximation Factorial for large number by Stirlings approximation ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Longest common subsequent ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Is it Palindrome ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Longest palindrome in string ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Is number that have been input , palindrome ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน String substring ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน String join ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน String split ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน String indexOf ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน String trim ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน String compare ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน String last index of ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Integration a function by mid-point approximation algorithm ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Integrate a function by trapezoidal integration algorithm ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน find leap year ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Finding day of year ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Catalang number generator ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Finding summation of nested list by recursive function ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Fastest power calculation (case power number is integer) using Exponentiation by squaring ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Logical operator ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Keywords and reserved words ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Finding maximum from array ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Finding minimum from array ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Sum all element in array ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Average from all element in array ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Filter element in array ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Accumulating from array ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน square all element in array and store to another array ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน MySQL insert data to table using prepared statement ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน MySQL select data from table using prepared statement ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน MySQL update data from table using prepared statement ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน MySQL delete a row from table ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน MySQL create table ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Postgresql create a table step by step ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน PostgreSQL insert to table using prepared statement ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน PostgreSQL select from table using prepared statement ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน PostgreSQL update table using prepared statement ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน PostgreSQL delete a row in table using prepared statement ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Linear regression ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Quadratic regression ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Graph fiitting ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Implement perceptron ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Implement neural network 2 layers ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน K-NN algorithm ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Decision Tree algorithm ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Http request using get method ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Http request using post method passing by JSON ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Web server waiting for http request ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Using CURL ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน OpenCV ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน OpenGL ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน GUI create a form ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน GUI create a button and waiting for click event ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน GUI create a textBox and waiting for text change event ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน GUI create combo box and waiting for selected change ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน GUI create Scoll pane ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน GUI create ListBox ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน GUI create PictureBox ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน GUI create Data Table ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน GUI create RichTextBox Multiline ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน GUI create new Windows ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน GUI create menubar ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน GUI create Label ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน GUI drawing colorful Rabbit ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน GUI drawing colorful Cat ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Create pie chart from data ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Create bar chart from data ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Line chart from data ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Show data table ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน SHA-256 hash algorithm ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน MD-5 hash algorithm ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Printing data to printer ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Sending RS232 com port ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Reading from RS232 comport ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน GUI drawing colorful tiger ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Drawing rabbit in native gui ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Drawing tiger in native gui ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Drawing Union Jack flag in native gui ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Drawing USA flag in native GUI ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Create OX game ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Create chess game ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Create ladder and snake game ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Create monopoly game ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Simple calculator ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Scientific calculator ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน create your own Linked List from scratch without using lib ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน create your own Doubly Linked List from scratch without using lib ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน create your own Double Ended Queue from scratch without using lib ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน create your own ArrayList from scratch without using lib ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน create your own Queue from scratch without using lib ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน create your own Stack เองแบบไม่ใช้ lib เขียน pop, push , top ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน create your own Tree เองแบบไม่ใช้ lib , insert tree ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน create your own Binary Search Tree เองแบบไม่ใช้ lib , insert , find , delete ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน create your own AVL Tree from scratch without using lib ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน create your own Self-Balancing Tree from scratch without using lib ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน create your own Heap from scratch without using lib ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน create your own Hash from scratch without using lib ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน create your own Priority Queue from scratch without using lib ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน create your own Hash โดยใช้วิธี Seperate Chaining Hashing from scratch without using lib ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน create your own Hash โดยใช้วิธี Linear Probing Hashing from scratch without using lib ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน create your own Quadratic Probing Hashing from scratch without using lib ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน create your own Map เองแบบไม่ใช้ lib , insert , find , delete ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน create your own Set from scratch without using lib ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน create your own directed graph เองแบบไม่ใช้ lib ใช้ matrix แทน adj ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน create your own undirected graph เองแบบไม่ใช้ lib ใช้ matrix แทน adj ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน create your own directed graph เองแบบไม่ใช้ lib ใช้ linked list เป็น Adj ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน create your own undirected graph เองแบบไม่ใช้ lib using linked list เป็น Adj ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน howto using interface in OOP ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Async ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Thread ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Multi-process ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน return vs yeild ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน serial port or comport write and read ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Parse JSON to object ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Parse JSON to array ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน create mini web server ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน web scraping ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน calling API ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน call API with access token ในภาษา Java แบบง่ายๆ พร้อมตัวอย่าง

การเขียนโปรแกรมเชิงวัตถุ 2

Object Oriented Programming (OOP) 2

ตัวแปรและเมท็อดที่เป็น static

คีย์เวิร์ด static เป็นคีย์เวิร์ดที่ใช้ประกาศหน้าตัวแปรและเมท็อด ความพิเศษของ static คือว่าโดยปกติเวลาจะสร้างอ็อปเจ็คต้องทำการ new อ็อปเจ็คขึ้นมา ตัวแปรอ็อปเจ็คก็จะอ้างอิงไปที่อ็อปเจ็คที่สร้างขึ้น แล้วก็เอาตัวแปรนี้ไปเรียกใช้ตัวแปร ใช้เมท็อด แต่ถ้าตัวแปรหรือเมท็อดนั้นเป็น static ก็จะทำให้สามารถใช้ตัวแปรหรือเมท็อดนั้นได้เลยโดยไม่ต้องสร้างอ็อปเจ็คมาเรียกใช้งาน

สำหรับตัวแปรที่เป็น static นั้น จะทำให้ตัวแปรนั้นเป็นตัวแปรของคลาสไม่ได้เป็นของอ็อปเจ็คใดอ็อปเจ็คหนึ่ง ถ้ามีการเปลี่ยนแปลงขึ้นกับตัวแปร static อ็อปเจ็คอื่นๆทั้งหมดจะมองเห็นการเปลี่ยนแปลง

วิธีประกาศ

สำหรับตัวแปร    modifier static ชนิดตัวแปร ชื่อตัวแปร;

สำหรับเมท็อด    modifier static ประเภทผลลัพธ์ ชื่อเมท็อด( ) { }

                        วิธีการเรียกใช้งานเมท็อดที่เป็น static ถ้าอยู่ในคลาสเดียวกันก็ ชื่อเมท็อด(); แบบนี้ได้เลย แต่ถ้าอยู่คนละคลาสก็ ใช่ ชื่อคลาส.ชื่อเมท็อด static

            เมท็อดที่เป็น static ที่ได้ใช้มาแล้วก็คือ เมท็อด main ใน public static void main(String [] args) เพราะว่า main เป็นเมท็อดสำหรับเริ่มทำงาน ดังนั้นต้องสามารถทำงานได้เลยโดยไม่ต้องมีอ็อปเจ็คมาเรียกใช้งาน

 


รูป 10-2-1

            เมท็อดชื่อ f ในบรรทัดที่ 17 ประกาศเป็น เมท็อด static ดังนั้นในบรรทัดที่ 12 สามารถเรียกใช้เมท็อด f ได้เลย แต่บรรทัดที่ 13 มีการเรียกใช้เมท็อด println ซึ่งอยู่ในคลาส System ก็ต้องใช้งานแบบ ชื่อคลาส.เมท็อด

 


รูป 10-2-2

            สังเกตว่าเมื่อเอาคำว่า static ออกในบรรทัดที่ 17 จะเกิด error ขึ้นทันทีที่บรรทัดที่ 12 ที่เรียกเมท็อด

ตัวแปร เมท็อดและคลาสที่เป็น final

            คล้ายกับ static คีย์เวิร์ด final ใช้ประกาศหน้าตัวแปร เมท็อดและยังประกาศหน้าคลาสได้ด้วย

-          ถ้า final ไปประกาศหน้าตัวแปร ตัวแปรนั้นจะมีค่านั้นตลอดเปลี่ยนแปลงไม่ได้ เรียกว่าเป็นค่าคงที่

-          ถ้าอยู่หน้าเมท็อดแล้วคลาสนี้ถูกสืบคุณสมบัติไป เมท็อดนี้จะไม่สามารถเขียนทับแก้ไขได้หรือก็คือไม่สามารถ Overriding ได้

-          แต่ถ้าอยู่คลาส คลาสนั้นๆจะไม่สามารถเป็นคลาสแม่ได้เลย คือบางทีไม่ต้องการให้คนเอาอะไรเปลี่ยนทั้งนั้นก็ประกาศคลาสเป็น final เพราะบางทีประกาศเมท็อดเป็น final คลาสลูกก็เขียนเมท็อดใหม่ขึ้นมาได้ เช่น เราไม่ต้องการเขาเปลี่ยนชื่อ เขาก็เขียนเมท็อดสำหรับเปลี่ยนชื่อใหม่ได้

วิธีประกาศ

สำหรับตัวแปร    final ชนิดตัวแปร ชื่อตัวแปร = ค่าคงที่ ;

สำหรับเมท็อด    modifier final ประเภทผลลัพธ์ ชื่อเมท็อด( ) { }

สำหรับคลาส      modifier final class ชื่อคลาส{ }

เมท็อดและคลาส abstract

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

            ทำไมต้อง abstract – ก็เพราะว่าบางครั้งมีการสืบทอดคลาสแม่ลูก สมมติว่าคลาส A เป็นคลาสแม่ มีคลาสลูก B, C, D, E มาสืบคุณสมบัติไป ปรากฏว่าคลาส B, D และ E ต้องใช้เมท็อดชื่อ show() เหมือนกัน แต่ในคลาสแม่ A ไม่มีเมท็อดนี้อยู่ ก็ให้คลาสแม่ประกาศเมท็อดเปล่าเอาไว้ คลาสลูกจะได้ใช้งาน ซึ่งคลาสลูกก็สามารถเปลี่ยนแปลงการทำงานในเมท็อด abstract ได้

            เขียนเมท็อดชื่อ show() ใหม่ไม่ได้หรอ – ได้ ก็เขียนใหม่ในคลาส B, D ,E ได้ แต่มันไม่เป็นไปตามเรื่องการสืบทอดคุณสมบัติ(inheritance)และการพ้องรูป(polymorphism) ของการเขียนจาวาแบบ OOP ก็แบบว่า ตัวแปรอ็อปเจ็คของแม่สามารถอ้างอิงอ็อปเจ็คของลูกได้ แต่ถ้าในคลาสแม่ไม่มีเมท็อด show() แม่ก็จะเรียกใช้ก็งานเมท็อดนี้ไม่ได้ ซึ่งก็ทำให้ทำงานไม่ดี

            วิธีประกาศ

สำหรับคลาส      modifier abstract class ชื่อคลาส { }

สำหรับเมท็อด    modifier abstract ประเภทผลลัพธ์ ชื่อเมท็อด(พารามิเตอร์)

ตัวอย่างเช่น

public abstract class Name

{

public abstract void setName(String name);

}

แต่ว่า

1.      ภายในคลาสที่เป็น abstract จะใช้คำสั่ง new สร้างอ็อปเจ็คของคลาสนั้นไม่ได้ เช่น new Name(); ไม่ได้

2.      ภายในเมท็อดที่เป็น abstract จะมีคำสั่งไม่ได้

3.      ใน abstract คลาส จะมีเมท็อดที่เป็นหรือไม่เป็น abstract อยู่ก็ได้

4.      แต่ abstract เมท็อดต้องอยู่ใน abstractคลาส เท่านั้น

 


รูป 10-2-3

ถ้าเอาคำว่า abstract ในบรรทัดที่ 2 ออกจะ error เพราะ บรรทัดที่ 4 กับ 7 เป็น abstract เมท็อด

5.      Abstract คลาสสามารถสืบทอดคุณสมบัติกันได้เหมือนคลาสปกติ แต่คลาสที่สืบทอดไป(คลาสลูก)จะต้องอิมพลีเมนท์(implement)[1] ทุกเมท็อดแม้จะไม่ได้ใช้งานก็ตาม

6.      คลาสธรรมดาสืบทอดคุณสมบัติจากคลาส abstract ได้

7.      มีคอนสตรัคเตอร์

Interfaces

                เป็นเรื่องต่อมาจาก abstract เพราะ interface เป็นเหมือคลาสๆหนึ่งที่ เมท็อดทุกเมท็อดเป็น abstract และตัวแปรทุกตัวก็เป็นตัวแปรแบบ public static final ด้วย

            การประกาศ

การเขียนคลาสปกติ         public class Worker { }

เขียน interface              public interface Worker { } ก็เอาคำว่า interface ไปแทน class

            ใน eclipse เวลาจะสร้างคลาส ตรงใต้ class จะมีคำว่า interface ก็กดตรงนั้นเลย

 


รูป10-2-4

            การประการตัวแปรและเมท็อดของ interface ต้องเป็น ตัวแปร public static final และ เมท็อด abstract  อยู่แล้วก็ไม่ต้องเขียนแบบรูป 10-2-4 ก็ได้ เขียนแบบข้างล่างแทน

 


รูป 10-2-5

วิธีใช้

1.      ใช้คำว่า implements ตามด้วย ชื่อinterface เช่น public class A implements interface B { } แต่อิมพลีเมนต์ interface แล้วต้องทำการ interface ทุกเมท็อดของ interface นั้นด้วย ง่ายๆคือเวลาอิมพลีเมนต์มันขึ้นขีดเส้นสีแดง error ที่ชื่อคลาส A พอกดมันก็จะอิมพลีมเนต์ให้เลยแบบนี้

 


รูป 10-2-6

2.      ค่าคงที่ เป็น public static final หมายถึงเปลี่ยนแปลงไม่ได้

3.      อิมพลีเมนต์ได้มากกว่า 1 interface  เช่น class A implements Interface1, Interface2, Interface3 { }

4.      ใช้ extends ก่อนอิมพลีเมนต์ก็ได้  เช่น class A extends B implements Interface1, Interface2, Interface3 { }

 

Abstract กับ Interface

-          เมท็อดของ abstract เป็น abstract ก็ได้ไม่เป็นก็ได้ แต่ถ้า interface นี่ไม่ได้เลยต้อง abstract เท่านั้น

-          ตัวแปรของ interface ล็อกค่า ของ abstract ไม่ล็อกเปลี่ยนแปลงได้

-          เวลามีคลาสไหนจะใช้งานเมท็อดของ abstract ต้องสืบทอดคุณสมบัติเป็นแม่ลูกกัน แต่ interface ไม่ต้องอยากใช้งานก็เอาไปใช้

-          Interface ไม่มีคอนสตรัคเตอร์ abstract มี

ทำไมต้อง interface

            เนื่องจาก interface ไม่ต้องมีความสัมพันธ์แม่ลูกกันแวลาใช้งาน ขอเปรียบเทียบว่า สมมติมีคลาสหมู กับคลาสลูกหมู แน่นอนว่าแบบนี้ต้องเป็นคลาสแม่ลูกกันเพราะนอกจากต้องจะสืบทอดคุณสมบัติทั้งรูปร่าง สีผิวแล้ว พฤติกรรมหรือนิสัยยังต้องทำอะไรคล้ายๆกันด้วย แบบนี้ก็ใช้ abstract ได้ เพราะลูกหมูหลายตัวอาจจะมีพฤติกรรมบางอย่างที่ทำเฉพาะตัวไม่เหมือนกัน ในคลาสลูกหมูก็ไปแก้เมท็อดนั้นเอา เรื่องมีอยู่ว่าแม่หมูทำงานอย่างหนึ่งคือดมกลิ่นหาเห็ดในป่ากับเก็บเห็ด วันนึงแม่หมูไม่สบายเลยจะเอาคนมาทำงานแทน แน่นอนว่าลูกหมูก็ต้องทำได้อยู่แล้วเพราะ extends สกิลดมกลิ่นเห็ดมาจากแม่ แต่เนื่องจากลูกหมูเด็กไป แม่หมูเลยให้หมีป่ามาทำงานแทน แต่หมีป่าไม่ได้เป็นลูก เป็นญาติอะไรกับหมูเลยก็จะมีสกิลไม่เหมือนกัน แต่อยากให้หมีป่าหาเห็ดเก็บเห็ดได้ ก็ไปเขียน interface มาแล้วให้หมีอิมพลีเมนต์สกิลนี้ไป หมีป่าก็จะทำงานแทนแม่หมูได้

 



[1] ใส่คำสั่งอะไรก็ได้ลงไป ไม่ใส่ก็ต้องเขียนว่างไว้ก็ได้ คือใส่ { } หลังเมท็อดไว้เฉยๆ



บทความนี้อาจจะมีที่ผิด กรุณาตรวจสอบก่อนใช้

หากมีข้อผิดพลาด/ต้องการพูดคุยเพิ่มเติมเกี่ยวกับบทความนี้ กรุณาแจ้งที่ http://m.me/Expert.Programming.Tutor

ไม่อยากอ่าน Tutorial อยากมาเรียนเลยทำอย่างไร?

สมัครเรียน ONLINE ได้ทันทีที่ https://elearn.expert-programming-tutor.com

หรือติดต่อ

085-350-7540 (DTAC)
084-88-00-255 (AIS)
026-111-618
หรือทาง EMAIL: NTPRINTF@GMAIL.COM

แผนที่ ที่ตั้งของอาคารของเรา

แผนผังการเรียนเขียนโปรแกรม

Link อื่นๆ

Allow sites to save and read cookie data.
Cookies are small pieces of data created by sites you visit. They make your online experience easier by saving browsing information. We use cookies to improve your experience on our website. By browsing this website, you agree to our use of cookies.

Copyright (c) 2013 expert-programming-tutor.com. All rights reserved. | 085-350-7540 | 084-88-00-255 | ntprintf@gmail.com

ติดต่อเราได้ที่

085-350-7540 (DTAC)
084-88-00-255 (AIS)
026-111-618
หรือทาง EMAIL: NTPRINTF@GMAIL.COM
แผนที่ ที่ตั้งของอาคารของเรา