count
ืืฉืื ืกืืื ืืืืืงื Counter
, ืื ืืืืจ ืฉืืชื ืืืื ืืืชืืืืก ืืืฉืชื ื ืืืืฆืขืืช ืืืืืื ืืื: Counter.count
. ืืืืื, ืืฉ ืืฉืงืื ืืฉื ื ืืืฉื. ืืืืืื, private
ืฉืืืช ืืืื ืื ืจืง ืืชืื ืืืืืงื ืฉืื ืื ืืืฆืืจืื. ืืฉืืืช protected
ืืืื ืื ืืื ืืืืืงืืช ืืชืื ืืืืื, ืืื ืื ืืื ืชืช ืืืืืงืืช ืฉืืื ืืืืฅ ืืืืืื. ื ื ืื ืฉืืืืืงื Counter
ืืฉ ืฉืืื ืกืืืืช increment()
ืฉืชืคืงืืื ืืืืืื ืืช count
ืืฉืื. ืืื ืืงืจืื ืืฉืืื ืื, ืืชื ืืืื ืืืฉืชืืฉ Counter.increment()
. ืืื ืฆืืจื ืืืฆืืจ ืืืคืข ืฉื ืืืืืงื Counter
ืืื ืืืฉืช ืืฉืื ืื ืฉืืื ืกืืืืช. ืืื ืืืืื ืืืืืชื ืืื ืืฉืชื ืื ืืฉืืืืช ืกืืืืื (ืืืืงื) ืืืื ืืฉืชื ืื ืืืชืืืืช ืฉืืื ื ืกืืืืื (ืืืคืข). ืืขืจื ืืฉืืื. ืื ืชืฉืื ืฉืืืืจืื ืืกืืืืื ืฉื ืืืืืงื ืฉืืืืื ืืฉืืจืืช ืืืืืงื, ืื ืื ืืืคืข ืฉื ืืืืืงื. ืืืืืจ, ืืขืจื ืฉื count
ืืืฉืชื ื ืืกืืื ืืืื ืืื ืขืืืจ ืื Counter
ืืืืืืืงืืื. ืืืืืจ ืื, ื ืกืงืืจ ืืช ืืืืืืื ืืืกืืกืืื ืฉื ืืฉืืืืฉ ืืฉืื ืื ืืกืืื ื-Java, ืืื ืื ืืื ืชืืื ืืช ืฉืืขืืจื ืื ืืืืื ืืืฉืื ืชืื ืืช ืืจืืืืื.
ืื ืฉืื ืืชืื ืช ืฆืจืื ืืืขืช ืขื ืืฉืื ืื ืืกืืื ืื'ืืืื.
ืืืืง ืื, ืื ื ืืืื ืื ืืช ืืืืืืื ืืขืืงืจืืื ืฉื ืฉืืืืฉ ืืฉืืืืช ืกืืืืืช, ืฉืืืช ืืืืืงืืช. ื ืชืืื ืขื ืืืฉืชื ืื.-
ืืื ื ืืืื ืืืฉืช ืืืืจืื ืฉืืื ื ืกืืืืื ืฉื ืืืืงื ืืืงืฉืจ ืกืืื, ืืืื ืฉืืื ืื ืืืืง ืกืืื. ืืืืืจ ืฉื ืืงืื ืืืื ืืืจืื ืืฉืืืื:
public class Counter { private int count; public static void main(String args []) { System.out.println(count); // Compile time error } }
ืืืื ืืืช ืืืขืืืืช ืื ืคืืฆืืช ืืืืชืจ ืฉื ืขืฉื ืขื ืืื ืืชืื ืชื Java, ืืืืืื ืืืฉืื. ืืืืืื ืฉืืืชืืื
main
ืืื ืกืืืืช ืืืืฉืชื ืcount
ืื, ืืฉืืืืฉprintln
ืืฉืืื ืืชืืmain
ืืฉืืื ืชืืฆืืจ "ืฉืืืืช ืืื ืงืืืคืืืฆืื". -
ืื ืืืื ืืืฉืชื ืื ืืงืืืืื, ืฉืืืช ืืฉืืืืช ืกืืืืื ืืื ื
thread safe
ื-Java. ืืคืืขื, ืืื ืืื ืืืืจืืื ืืฉืืืืื ืืืืชืจ ืืืขืืืช ืืืืื ืืชืื ืืช ืืจืืื ืืืืื. ืืืชืืฉื ืืื ืฉืื ืืืคืข ืฉื ืืืืงื ืืชืืืืก ืืืืชื ืขืืชืง ืฉื ืืฉืชื ื ืกืืื, ืืฉืชื ื ืืื ืฆืจืื ืืืืืช ืืืื ืื "ื ืขืื" ืขื ืืื ืืืืืงื. ืืื, ืืขืช ืฉืืืืฉ ืืืฉืชื ืื ืกืืืืื, ืืื ืฉืื ืชืงืื ืืsynchronized
ืืื ืืื ืืข ืืขืืืช ืืืืrace conditions
. -
ืืฉืืืืช ืกืืืืืช ืืชืจืื ืืขืฉื ืืื ืฉืืื ืฆืืจื ืืืฆืืจ ืืืืืืงื ืืืฉ ืืื ืคืขื ืฉืจืืฆืื ืืงืจืื ืืื. ื ืืชื ืืงืจืื ืืืชืืื ืกืืืืช ืืืืฆืขืืช ืฉื ืืืืืงื ืฉืืฆืืืจื ืขืืื. ืืื ืืฉืืืืช ืืืื ืืืฉืืืืช ืืฉืืืืช
factory
ืืฉืืืืชutility
. ืืืืืงืjava.lang.Math
ืืื ืืืืื ื ืคืืื: ืืืขื ืื ืืฉืืืืช ืฉืื ืื ืกืืืืืช. ืืืืงืืช ืืฉืืจืืช ืฉื Java ืืกืืื ืืชfinal
ืืืืชื ืกืืื. -
ื ืงืืื ืืฉืืื ื ืืกืคืช ืืื ืฉืืื ื ืืืื ืืขืงืืฃ (
@Override
) ืฉืืืืช ืกืืืืืช. ืื ืืชื ืืฆืืืจ ืขื ืฉืืื ืืื ื-subclass
, ืืืืืจ ืฉืืื ืขื ืืืชื ืฉื ืืืชืืื, ืืชื ืคืฉืื "ืืกืชืืจ" ืืช ืืฉืืื ืฉื โโื-superclass
ืืืงืื ืืขืงืืฃ ืืืชื. ืชืืคืขื ืื ืืืืขื ืืฉืmethod hiding
. ืืืฉืืขืืช ืืื ืฉืื ืืืฆืืจืช ืฉืืื ืกืืืืช ืื ืืืืชืืช ืืื ืืื ืืืืชืืช ืืืื, ืืฉืืื ืฉื ืงืจืืช ืชืืื ืชืืื ืืืืกืกืช ืขื ืกืื ืืืฉืชื ื ืืืื ืืืืืืจ. ืื ืืืื ืืขืงืืฃ ืฉืืื, ืฉืืืืช ืืืื ืื ืืืืฆืขื ืืืฉืจ ืืชืืื ืืช ืคืืขืืช. ืืื ื ืฉืงืื ืืืืื:class Vehicle { public static void kmToMiles(int km) { System.out.println("Inside the parent class / static method"); } } class Car extends Vehicle { public static void kmToMiles(int km) { System.out.println("Inside the child class / static method"); } } public class Demo { public static void main(String args []) { Vehicle v = new Car(); v.kmToMiles(10); } }
ืคืื ืืกืืฃ:
ืืชืื ืืืืงืช ืืื / ืฉืืื ืกืืืืช
ืืงืื ืืืืื ืืืืจืืจ ืฉืืืจืืช ืืขืืืื ืฉืืืืืืืงื ืืื
Car
, ืืฉืืื ืืกืืืืช ืืืืืงืVehicle
ื ืงืจืืช, ืืืืืื ืฉืืืชืืื ื ืงืจืื ืืืื ืืงืืืคืืืฆืื. ืืฉืืื ืื ืฉืื ืืื ืฉืืืืืช ืงืืืคืืืฆืื! -
ืืชืจื ืืื, ืืืื ืืืืงืืช ืืจืื ืืขืืืื ื, ืืชื ืืืื ืืืืจืื ืขื ืืืืงืืช ืกืืืืืช. ืฉืืขืืจืื ืืืื ืืืืขืื ืืฉื
nested static classes
. ืื ืฉืืืืฉืืื ืืืชื ืืืืืืช ืืืื ืืืชืจ. ืืืืื ืืืืืช ืืืืืงื ืกืืืืช ืืงืื ื ืช ืืืHashMap.Entry
, ืฉืืื ืืื ื ื ืชืื ืื ืืคื ืืHashMap
. ืจืืื ืืฆืืื ืฉืืื ืืืืงืืช ืคื ืืืืืช, ืืืืงืืช ืืงืื ื ืืช ืกืืืืืช ืืืฆืืจืืช ืืงืืืฅ .class ื ืคืจื. ืืคืืื, ืื ืชืืจืื ืขื ืืืฉ ืืืืงืืช ืืงืื ื ืืช ืืืืืงื ืืจืืฉืืช ืฉืื, ืืืื ืื 6 ืงืืฆืื ืขื ืกืืืืช .class. ืืืืื ื ืืกืคืช ืืื ืืืืจืื ืืฉืื ืComparator
, ืืืื ืืฉืืื ืืื (AgeComparator
) ืืืืชืEmployee
. -
ื ืืชื ืืฆืืื ืืช ืืฉืื ืื ืืกืืื ืื ืืืืืง ืกืืื, ืืืืืข ืืืชืจ ืืฉื "ืืืฉ ืืชืืื ืกืืื", ืฉืืชืืฆืข ืืืฉืจ ืืืืืงื ื ืืขื ืช. ืื ืืชื ืื ืืฆืืืจ ืขื ืืืืง ืืื, Java ืืืกืคืช ืืช ืื ืืฉืืืช ืืกืืืืื ืืจืฉืืื ืืืช ืืืืืืช ืืืชื ืืฉืืืืืงื ื ืืขื ืช. ืืืืง ืกืืื ืื ืืืื ืืืจืืง ืืจืืืื ืืกืืื ืื, ืืื ืืื ืืืื ืืืจืืง ืืจืืืื ืื ืืกืืื ืื. ืืืงืจื ืื,
ExceptionInInitializerError
ืชืชืจืืฉ ืฆืืืื. ืืคืืขื, ืื ืืจืื ืฉืืชืจืืฉ ืืืืื ืืชืืื ืฉื ืฉืืืช ืกืืืืื ืืขืืืฃ ืืฉืืืื ืื ืขื ืืื Java. ืื ืื ืืกืืื ืืฉืืืื ืืืืชืจ ื-NoClassDefFoundError
, ืืืืืื ืฉืืืืชื ืื ืชืืื ืืืืืจืื ืืืฉืจ ืืื ืืืืืจืช. -
ืื ืฉืืืืฉื ืืืขืช ืฉืฉืืืืช ืกืืืืืช ืืงืืฉืจืืช ืืืื ืืืืืจ, ืื ืืืื ืืงืืฉืืจ ืฉื ืฉืืืืช ืืืจืืืืืืืช ืื ืื ืกืืืืืช, ืืืงืืฉืจืืช ืืืื ืจืืฆื ืืฉืื ื ืงืจืืืช ืขื ืืืืืืงื ืืืืชื. ืืืชืื ืืื, ืื ื ืืชื ืืขืงืืฃ ืฉืืืืช ืกืืืืืช ื-Java, ืฉืื ืคืืืืืืจืคืืื ืืื ื ืื ืขืืืื ืืืื ืืจืืฆื. ืืืื ืืืืื ืืฉืืื ืฉืืฉ ืืงืืช ืืืฉืืื ืืืฉืจ ืืืจืืืื ืขื ืฉืืื ืกืืืืช. ืืขืฉืืช ืืืช ืืืืื ื ืจืง ืืืฉืจ ืืื ืืืืืช ืื ืฆืืจื ืืขืงืืฃ ืืช ืืฉืืื ืืชืช-ืืืืงื. ืฉืืืืช ืืคืขื ืืฉืืืืช ืฉืืจืืช ืื ืืืืืืืช ืืืืืช ืืฉืืืืฉ ื ืืื ืืืฉื ื ืืกืืื. ื'ืืฉืืข ืืืื ืืฆืืื ืืกืคืจ ืืชืจืื ืืช ืฉืืฉ ืืฉืืืืช ืืคืขื ืกืืืืืช ืขื ืคื ื ืงืื ืกืืจืืงืืืจืื ืืกืคืจื Effective Java, ืฉืืืื ืืงืจืื ืืื ืืชืื ืช Java.
-
ืืชืืื ืืื ืืืื ืืฉืื ืฉื ืืืืง ืกืืื. ืฉืืืช ืื ืืฉืชื ืื ืกืืืืื ืืืืชืืืื ืืืืจ ืืขืื ืช ืืืืืงื ืืืืืจืื. ืกืืจ ืืืชืืื ืืื ืืืืขืื ืืืื, ืืืืชื ืกืืจ ืฉืื ืื ืืืฆืืจืื ืืงืืืฅ ืืืงืืจ ืฉื ืืืืงืช Java. ืืืืืื ืฉืฉืืืช ืกืืืืื ืืืืชืืืื ืืฆืืจื ืืืืื ืืืืืื, ืชืืืื ืื ืืฉืืฉ ืื ืืืืฉืื ืืชืื ืืช
Singleton
. ืื ืืื ื ืืฉืชืืฉ ื-Enum
as aSingleton
ืืกืืื ืืืฉืื, ืื ืืฉ ืื ืืืืจื ืืืื ืืืื. ืืื ืืืงืจื ืื, ืขืืื ืืงืืช ืืืฉืืื ืฉืื ืืืืืจ ืืืชืืื "ืขืฆืื". ืื ืืืืจ ืฉืืฉืื ืืกืืื ืืืืชืื ืืคืืื ืืคื ื ืฉืืืฉืื "ืืืงืฉ" ืืืชื. ืื ืืืืืืงื ืืื ืืืฉืืืื ืื ืืฉืืืืฉ ื ืืืจ, ืื ืืืชืืื ืฉืื ืืืืืง ืกืืื ืื ืืขืืื ืืืืืชื. -
ืืืืื ืกืืจื, ืฉืืืช ืกืืืืื, ืืื
transient
ืืฉืชื ืื, ืืื ื ืืกืืืจืื. ืืืื, ืื ืชืฉืืืจ ื ืชืื ืื ืืฉืื ืกืืื, ืืื ืืืื ืืช ืืขืจื ืืจืืฉืื ื (ืืจืืจืช ืืืืื) ืฉืื ืืืืจ ืื-ืกืจืืืืืืฆืื. ืืืืืื, ืื ืฉืื ืกืืื ืืืint
, ืืขืจื ืฉืื ืืืื ืืคืก ืืืืจ ืื-ืกืจืืืืืืฆืื. ืื ืืกืื ืฉืื ืืืfloat
, ืืขืจื ืืืื 0.0. ืื ืืฉืื ืืืObject
, ืืขืจื ืืืืnull
. ืืืขื ืืืืช, ืื ืืืช ืืฉืืืืช ืื ืคืืฆืืช ืืืืชืจ ืืืื ืกืืจื ืืจืืืื ืืช ืืชืคืงืืื Java. ืื ืชืืืกื ื ืชืื ื ืืืืืืงื ืืืื ืืื ืืฉืื ืกืืื! -
ืืืกืืฃ, ืืืื ื ืืืจ ืขื ืืืื ืกืืื. ืืฉืื ืื ืื ืืฉ ืืจืื ืื ืืืฉืืชืฃ ืืืฆืืจื ืืกืื ืืจืืืช
import
, ืื ืืื ืฉืื ื ืืื ืฉืืื ืืืคืฉืจ ืืืืื ืืื ืื ืืช ืื ืืืจื ืืืืืงื ืืกืืืืช. ืืืืจ ืืืืืืื ืฉื ืฉืืืืช ืกืืืืืช, ื ืืชื ืืืฉืช ืืืืื ืืืืื ืืืืจืื ืืืืชื ืืืืงื. ืืืืคื ืืืื, ืขื ืืื ืืืืื โโืฉืืืช ืกืืืืื, ื ืืื ืืืฉืช ืืืืื ืืืื ืืฆืืื ืืช ืฉื ืืืืืงื. ืชืืื ื ืื ืืืคืืขื ื-Java 1.5 ืืืฉืคืจืช ืืช ืงืจืืืช ืืงืื ืืฉืืืืฉ ื ืืื. ืืื ื ืื ื ืืฆื ืืจืื ืืืืืงืืช JUnit, ืืืืืื ืฉืืืขื ืื ืืคืชืื ืืืืืงืืช ืืฉืชืืฉืื ืืืืืื โโืกืืื ืขืืืจ ืฉืืืืช ืืขื ื, ืืืฉืassertEquals()
ืืืืจืกืืืช ืืขืืืกืืช ืฉืืื. -
ืื ืืื ืืขืช ืขืชื. ืื ืืชืื ืช Java ืฆืจืื ืืืขืช ืืช ืื ืืืืืืื ืฉื ืืฉืื ืื ืืกืืื ืฉืืืืืจ ืืขืื. ืืืืจ ืื ืกืงืจ ืืืืข ืืกืืกื ืขื ืืฉืชื ืื ืกืืืืื, ืฉืืืช, ืฉืืืืช, ืืืืงื ืืชืืื ืืืืืื. ืื ืื ื ืืข ืืืื ืืืคืืื ืื ืืฉืืืื ืฉืืืื ื ืืืขืช ืืื ืืืชืื ืืืืืื ืชืืื ืืืช Java. ืื ื ืืงืืื ืฉืื ืืคืชื ืืฉืืื ืืช ืืฉืืืืฉ ืืืืืื ืฉืื ืืืืจืื ืกืืืืื, ืื ืื ืืฉืื ืืืื ืืคืืชืื ืชืืื ื ืจืฆืื ื".
GO TO FULL VERSION