-
-
DevelopPlus.net
ขายสคริปต์เว็บไซต์ลงประกาศสินค้า
-
SiamACT.com
เวปไซต์ที่ให้คุณโฆษณาตนเอง
ขายสคริปต์เว็บไซต์ลงประกาศสินค้า
หากว่าคุณต้องการมีเว็บไซต์ลงประกาศสินค้าเป็นของตนเอง
แต่ว่าคุณไม่มความรู้เรื่องการติดตั้งเว็บ ไม่อยากเช่า hosting
โปรดติดต่อมาหาเรา ทางเราจะให้บริการปัญหาเหล่านี้กับท่าน
เวปไซต์ที่ให้คุณโฆษณาตนเอง
SiamACT.com เป็นเวปไซต์ที่ให้คุณสามารถโปรโมท หรือโฆษณาตนเองได้ตามต้องการ
หากคุณมีวิดีโอเกี่ยวกับตัวคุณอยู่แล้วใน YouTube.com และต้องการโฆษณาให้เป็นที่แพร่หลาย
SiamACT.com จะเป็นสื่อกลางของวิดีโอคลิบเหล่านี้
-
-
-
subject:ชนิดของ class
content:ชนิดของ class ที่ใช้ใน ภาษา Java
Concrete Class เป็น class ทั่วๆไป ที่สามารถสร้าง Object ได้
Abstact Class เป็น class ที่สร้างมาเพื่อเป็น SuperClass โดยเฉพาะ ไม่สามารถสร้าง Object จาก Class ประเภทนี้ได้
Interface เป็น ที่รวมของการประกาศ public method ต่างๆ ที่ไม่มีคำสั่งภายในใดๆไว้เลย
-
subject:คุณลักษณะของ Concrete Class
syntax:class class_name
{
attribute;
method;
}
content:เป็น Class ทั่วๆไป ที่สามารถสร้าง Object ได้
example:class Person
{
private String firstName;
private String lastName;
private int age;
public void setFirstName ( String firstName )
{
this.firstName = firstName;
}
public String getFirstName ()
{
return this.firstName;
}
}
-
subject:คุณลักษณะของ Abstract Class
syntax:abstract class class_name
{
attribute;
method;
abstract method;
}
content:เป็น class ที่สร้างขึ้นมาเพื่อเป็น SuperClass โดยเฉพาะ เพราะไม่สามารถสร้าง Object จาก Class นี้ได้
และสามารถประกาศ abstract method ไว้ได้ โดยทุกๆ SubClass ที่สืบทอดจาก Class นี้จะต้อง
ทำการ implement ทุก abstract method ที่ Abstract Class มี
( ยกเว้น SubClass ที่เป็น Abstract Class เช่นกัน ไม่จำเป็นต้อง implement abstract method )
example:abstract class Life
{
public String sex;
public int age;
public abstract void walk ();
public abstract void run ();
}
-
subject:คุณลักษณะของ Interface
syntax:interface interface_name
{
attribute;
abstrace method;
}
class class_name implements interface_name
{
method;
}
content:จะมีเพียง attribute และ abstract method เท่านั้น
และไม่สามารถสร้าง object จาก Interface และ SubClass ของ Interface ได้
โดยจะสามารถสร้าง object ได้จาก Implement ของ Interface เท่านั้น
โดยที่ทุกๆ Implement จาก Interface จะต้องทำการ implement ทุก abstract method มาทั้งหมดเสมอ
ส่วนการประกาศ attribute ใน Interface นั้น เหมือนกับการใช้ public final ใน Concrete Class
example:interface Animal
{
public abstract void walk ();
public abstract void run ();
}
class Dog implements Animal
{
public void walk ( )
{
}
public void run ( )
{
}
}
-
subject:ชนิดของ Inner Class ในภาษา Java
content:ชนิดของ Inner Class ในภาษา Java
- static nested class
- anonymous class
- local class
- member class
-
subject:คุณลักษณะของ static nested class
syntax:class class_name
{
static class inner_class_name
{
attribute;
method;
}
attribute;
method;
}
class_name object_class = new class_name ( );
class_name.inner_class_name object_inner_class = new class_name.inner_class_name ( );
content:เป็น class ที่อยู่ภายใน class อื่นๆ โดยมีการระบุ keyword static
โดย class แบบนี้สามารถสร้างซ้อนไปเรื่อยๆได้ไม่รู้จบ
example:class Person
{
public String firstname;
public String lastname;
static class Address
{
public String country;
public void setCountry ( String country )
{
this.country = country;
}
public String getCountry ( )
{
return this.country;
}
}
public void setFirstName ( String firstname )
{
this.firstname = firstname;
}
public String getFirstName ( )
{
return this.firstname;
}
public void setLastName ( String lastname )
{
this.lastname = lastname;
}
public String getLastName ( )
{
return this.lastname;
}
}
Person.Address address = new Person.Address ( );
address.setCountry ( "chonburi" );
-
subject:คุณลักษณะของ anonymous class
content:คุณลักษณะของ anonymous class
เป็นเหมือนการระบุการทำงานของ method ใหม่
โดยจะถูกสร้างภายใน argument ของ method
และมีเงื่อนไขคือ method ที่ถูกสร้าง จะต้องเป็น parameter แบบ object
-
subject:คุณลักษณะของ local class
syntax:{
class local_class
{
attribute;
method;
}
local_class object = new local_class ( );
}
content:เป็น class ที่สร้างขึ้นภายใน Block การทำงานใด ( ไม่ต้องมี keyword static )
และสามารถเรียกใช้ได้เฉพาะภายใน Block การทำงานนั้นๆเท่านั้น
( Block การทำงาน ได้แก่ { } )
example:for ( int i=0; i<10; i++ )
{
class Person
{
public int age;
public void setAge ( int age )
{
this.age = age;
}
}
Person bamboo = new Person ( );
bamboo.setAge ( i );
}
-
subject:คุณลักษณะของ member class
syntax:class class_name
{
class inner_class_name
{
attribute;
method;
}
attribute;
method;
}
class_name object_class = new class_name ( );
class_name.inner_class_name object_inner_class = class_name.new inner_class_name ( );
content:เป็น class ที่อยู่ภายใน class อื่นๆ โดยไม่มีการระบุ static
( สามารถสร้าง class ซ้อน class ได้เพียงระดับเดียวเท่านั้น )
example:class Person
{
public String firstname;
public String lastname;
static class Address
{
public String country;
public void setCountry ( String country )
{
this.country = country;
}
public String getCountry ( )
{
return this.country;
}
}
public void setFirstName ( String firstname )
{
this.firstname = firstname;
}
public String getFirstName ( )
{
return this.firstname;
}
public void setLastName ( String lastname )
{
this.lastname = lastname;
}
public String getLastName ( )
{
return this.lastname;
}
}
Person.Address address = Person.new Address ( );
address.setCountry ( "chonburi" );
-
subject:การ Inherite และ Implement
content:การ Inherite และ Implement
- การสืบทอด ( Inherite ) Concrete Class และ Abstract Class
- การสืบทอด ( Inherite ) Interface
- การ Implement ของ Interface
- การ Multiple Inheritance
-
subject:การสืบทอด ( Inherite ) Concrete Class และ Abstract Class
syntax:class superclass_name
{
attribute;
method;
}
class subclass_name extends superclass_name
{
attribute;
method;
}
content:การสืบทอด ( Inherite ) Concrete Class และ Abstract Class
example:class Life
{
public String name;
public int age;
}
Class Person extends Life
{
public String serialNumber;
}
-
subject:การสืบทอด ( Inherite ) Interface
syntax:interface super_interface_name
{
attribute;
abstract method;
}
interface sub_interface_name extends super_interface_name
{
attribute;
abstract method;
}
content:การสืบทอด ( Inherite ) Interface
example:interface Life
{
public abstract void walk ();
public abstract void run ();
}
interface Person extends Life
{
public abstract void sleep ();
}
-
subject:การ Implement ของ Interface
syntax:class class_name implements interface_name
{
attribute;
method;
}
interface Life
{
public abstract void walk ();
public abstract void run ();
}
content:การ Implement ของ Interface
example:interface Person extends Life
{
public abstract void sleep ();
}
class Bamboo implements Person
{
public void walk ( )
{
}
public void run ( )
{
}
public void sleep ( )
{
}
}
-
subject:การ Multiple Inheritance
syntax:class class_name implements interface1, interface2
{
attribute;
method;
}
interface Life
{
public abstract void walk ();
public abstract void run ();
}
content:interface1 และ interface2 ต้องไม่มี abstract method ที่มี signature เหมือนกันทุกประการ
example:interface Address
{
public abstract void setCountry ( String country );
}
class Bamboo implements Life, Address
{
public void walk ( )
{
}
public void run ( )
{
}
public void setCountry ( String country )
{
}
}
-
subject:การสร้าง Object และการเรียกใช้ clsss แบบที่ 1
syntax:ClassName object;
object = new ClassName ( );
example:Person bamboo;
bamboo = new Person ( );
-
subject:การสร้าง Object และการเรียกใช้ clsss แบบที่ 2
syntax:ClassName object = new ClassName ( );
example:Person bamboo = new Person ( );
-
subject:การสร้าง Array Object และการเรียกใช้ clsss แบบที่ 1
syntax:ClassName [] objects = new ClassName [ max ];
objects[index] = new ClassName ( );
example:Person [] bambooes = new Person [ 2 ];
bambooes[0] = new Person ( );
bambooes[1] = new Person ( );
-
subject:การสร้าง Array Object และการเรียกใช้ clsss แบบที่ 2
syntax:ClassName [] objects = { new ClassName(), new ClassName(), ..., new ClassName() };
example:Person [] bambooes = { new Person(), new Person() };
-
subject:การเรียกใช้ method แบบที่ 1
syntax:ClassName object = new ClassName().methodName();
example:Person bamboo = new Person().setName( "bamboolabcode" );
-
subject:การเรียกใช้ method แบบที่ 2
syntax:ClassName object = new ClassName();
object.methodName();
example:Person bamboo = new Person()
bamboo.setName( "bamboolabcode" );
-
subject:การเรียกใช้ attribute แบบที่ 1
syntax:ClassName object = new ClassName().attributeName;
example:Person bamboo = new Person().name;
-
subject:การเรียกใช้ attribute แบบที่ 2
syntax:ClassName object = new ClassName();
object.attributeName;
example:Person bamboo = new Person();
bamboo.name = "bamboolabcode";
-
subject:ชนิดของ method
content:ชนิดของ method
- static method
- instance method
- constructor method
- overloading method
- overriding method
-
subject:คุณลักษณะของ static method
content:เป็น method ที่มีคำว่า static อยู่
จะทำให้ method นั้นสามารถเรียกใช้ได้เลย ( ชื่อคลาส.ชื่อเมธอด )
โดยไม่ต้องสร้าง object ขึ้นมาก่อน ( สร้าง object แล้วเรียกใช้ก็ได้เช่นกัน )
example:class Person
{
private static String name;
public static void setName ( String name )
{
this.name = name;
}
}
Person.setName ( "bamboolabcode.com" );
-
subject:คุณลักษณะของ Instance Method
content:เป็น method ที่ไม่มีคำว่า static อยู่
จะทำให้ method นั้นไม่สามารถเรียกใช้ได้เลย คือต้องมีการสร้าง Object ขึ้นมาก่อน
example:class Person
{
private String name;
public void setName ( String name )
{
this.name = name;
}
}
Person bamboo = new Person ( );
static .setName ( "bamboolabcode.com" );
-
subject:คุณลักษณะของ constructor method
content:เป็น method ที่มีชื่อเกียวกับ ชื่อ class
โดยปกติ เมื่อ object ถูกสร้างขึ้นมา ก็จะดำเนินการ เรียกใช้
constructor method โดยอัตโนมัติ
example:class Person
{
private String name;
public Person ( String name )
{
this.name = name;
}
}
Person bamboo = new Person ( "bamboolabcode.com" );
-
subject:คุณลักษณะของ overloading method
content:เป็น method หลาย method ที่มีชื่อเดียวกัน และอยู่ภายใน class เดียวกัน หรือ class ที่สืบทอดกัน
แต่ต่างกันตรง ชนิด หรือ จำนวน ของ parameter
example:class Person
{
private String name;
public void setName ( String name )
{
this.name = "FullName : " + name;
}
public void setName ( String firstname, String lastname )
{
this.name = "FirstName : " + firstname + " LastName : " + lastname;
}
}
Person bamboo = new Person ( );
bamboo.setName ( "bamboolabcode.com" );
Person function = new Person ( );
function.setName ( "function", "in.th" );
-
subject:คุณลักษณะของ overriding method
content:เป็น method ของ subclass ที่มีคุณสมบัติเหมือน superclass ทุกประการ
แต่ต่างกันที่การดำเนินการ ( implement )
example:class Person
{
private String name;
public void setName ( String name )
{
this.name = "FullName : " + name;
}
}
class Bamboo extends Person
{
public void setName ( String name )
{
this.name = name;
}
}
Bamboo kon = new Bamboo ( );
kon.setName ( "bamboolabcode.com" );
-
subject:โครงสร้างของ method
syntax:accessibility return_data_type methodName ( parameter )
{
}
content:accessibility ได้แก่ public, private, protected, default
return_data_type ได้แก่ void และ ชนิดตัวแปรทั้งหมด
example:public void setSex ( String sex )
{
}
-
subject:โครงสร้างของ constructor method
syntax:accessibility methodName ( parameter )
{
}
content:accessibility ได้แก่ public, private, protected, default
example:class Person
{
public Person ( )
{
}
}
-
subject:accessibility
content:accessibility
public ทำให้สามารถเรียกใช้ได้ในทุก class ทุก package
private ทำให้สามารถเรียกใช้ได้ใน class นั้นๆเท่านั้น ( subclass ก็ใช้ไม่ได้ )
protected สามารถเรียกใช้ได้ใน package เดียวกัน และ subclass ที่สืบทอดกันมา
default สามารถเรียกใช้ได้ใน package เดียวกัน ( subclass ใช้ไม่ได้ )
-
subject:การกำหนด static ให้กับ attribute
content:ทำให้ method ที่มี static สามารถเรียกใช้ attribute นั้นได้
ทำให้ attribute นั้นๆมีค่าไม่คงที่ คือเปลี่ยนแปลงไปมาขึ้นอยู่กับการเรียกใช้ของ method
example:class Person
{
private static String name;
public static void setName ( String name )
{
this.name = name;
}
}
-
subject:การกำหนด final ให้กับ attribute
content:ทำให้ attribute นั้นกำหนดค่าอีกไม่ได้
ทำให้ attribute นั้นมีค่าคงที่ คือไม่เปลี่ยนแปลงไปตามการเรียกใช้ของ method
example:class Person
{
private final String name = "BambooLabCode.com";
public void getName ( )
{
return this.name;
}
}
-
subject:การกำหนด static ให้กับ method
content:ทำให้ method นั้นๆถูกเรียกใช้ได้เลย โดยไม่ต้องสร้าง object ก่อน
โดย static method สามารถเรียกใช้ได้เฉพาะ static attribute เท่านั้น
แต่ method ที่ไม่ใช่ static method สามารถเรียกใช้ attribute ได้ทุกแบบ
example:class Person
{
private static String name;
public static void setName ( String name )
{
this.name = name;
}
}
-
subject:การกำหนด final ให้กับ method
content:ทำให้ subclass ไม่สามารถทำการ overriding method นั้นได้อีก
example:class Person
{
private String name;
public final void setName ( String name )
{
this.name = name;
}
}
-
subject:การกำหนด final ให้กับ class
content:ทำให้ ไม่สามารถ สืบทอด class นั้นได้
example:final class Person
{
private String name;
public void setName ( String name )
{
this.name = name;
}
}
-
subject:การใช้ this กับ attribute
content:เพื่ออ้างถึง attribute ของ class
example:class Person
{
private String name;
public void setName ( String name )
{
this.name = name;
}
}
-
subject:การใช้ this กับ method
content:ใช้ในการอ้างถึง method ของคลาสแม่
example:class Life
{
private String name;
protected String sex;
public Life ( String name )
{
this.name = name;
}
public void setSex ( String sex )
{
this.sex = sex;
}
}
class Person extends Life
{
private int age;
public Person ( String name )
{
this ( name );
}
public void setDetail ( String sex, int age )
{
this.setSex ( sex );
this.age = age;
}
}
-
subject:การใช้ super กับ attribute
content:เพื่ออ้างถึง attribute ของ class แม่
example:class Life
{
protected String name = "life";
}
class Person extends Life
{
protected String name = "person";
public String getName ( )
{
return super.name;
}
}
-
subject:การใช้ super กับ method
content:ใช้ในการอ้างถึง method ของ class แม่
example:class Life
{
private String name;
protected String sex;
public Life ( String name )
{
this.name = name;
}
public void setSex ( String sex )
{
this.sex = "Super Sex :" + sex;
}
}
class Person extends Life
{
private int age;
public Person ( String name )
{
super ( name );
}
public void setSex ( String sex )
{
this.sex = sex;
}
public void setDetail ( String sex, int age )
{
super.setSex ( sex );
this.age = age;
}
}
-
subject:การ casting ตัวแปร
syntax:VarType var1 = ( VarType ) var2;
content:การ casting ระหว่าง ตัวอักษร กับ ตัวเลข จะดูที่รหัส ascii
กล่าวคือ ตัวอักษร A แปลงไปเป็นตัวเลขจะได้ 65
หรือ ตัวเลข 65 แปลงไปเป็นตัวอักษร จะได้ A
example:String number = "10";
int count = ( int ) number;
-
subject:การ casting object
syntax:SuperClass object1 = new SuperClass ( );
SubClass object2 = ( SubClass ) object1;
content:ใช้ในการเปลี่ยนแปลงชนิดของ Object
โดยการทำ casting object นั้น class ทั้งสองต้องมีความสัมพันธ์แบบ inheritance กัน
โดยการ casting object นั้นมี 2 แบบ ได้แก่
upcasting คือ การเปลี่ยนจาก subclass ไปเป็น superclass และ
downcasting คือ การเปลี่ยนจาก superclass ไปเป็น subclass
-
subject:คำสั่ง instanceof
syntax:object instanceof className;
content:ใช้ตรวจสอบว่า object ถูกสร้างมาจาก class หรือไม่
โดยการสืบทอดกันก็ถือว่าเป็นเงื่อนไขเดียวกัน
example:class Life
{
private String name;
protected String sex;
public Life ( String name )
{
this.name = name;
}
public void setSex ( String sex )
{
this.sex = "Super Sex :" + sex;
}
}
class Person extends Life
{
private int age;
public Person ( String name )
{
super ( name );
}
public void setSex ( String sex )
{
this.sex = sex;
}
public void setDetail ( String sex, int age )
{
super.setSex ( sex );
this.age = age;
}
}
Person bamboo = new Person ( "bamboolabcode.com" );
if ( bamboo instanceof Life )
{
System.out.println ( "bamboo created by life" );
}