PHƯƠNG PHÁP CALL MỘT METHOD TRONG JAVA PROGRAM
NĂM PHƯƠNG PHÁP CĂN BẢN.
1- Nêu method là static thì call nó trực tiếp trong main method.
1- Nêu method là static thì call nó trực tiếp trong main method.
Thí du.
class Rextester{
static void display(){
System.out.println("Hello Friends ! You call me directly from inside main method\nbecause I am static");
}
public static void main(String[] args){
display();
}
}
Output.
Compilation time: 0.82 sec, absolute running time:
0.14 sec, cpu time: 0.07 seCompilation time: 0.82 sec, absolute running time:
0.14 sec,
cpu time: 0.07 sec, memory peak: 28 Mb, absolute
service time: 0.97 sec
Hello Friends ! You call me directly from inside main method
because I am static
2- Nêu
method là non-static , muốn call nó phải tạo một object cho class trong main method.
Thí du.
class Rextester{
void display(){
System.out.println("Hello Friends ! You must create an object for class inside main method to call me\nbecause I am non-static");
}
public static void main(String[] args){
Rextester rx = new Rextester();
rx. display();
}
}
Output.
Compilation time: 0.82 sec, absolute running time: 0.13 sec,
cpu time: 0.06 sec, memory peak: 27 Mb, absolute service time: 0.95 sec
Hello Friends ! You must create an object for class inside main method
To call me because I am non-static
3- Nếu method là non-static chứa trong Inner
class hay còn gọi Member class , muốn
call nó phải tạo trong main
method một combined object oi của
Outer class và Inner class như sau :
Outer.Inner oi = new Outer().new Inner();
Thí du.
class Rextester {
static{
System.out.println("HOW TO CALL A METHOD WRITTEN INSIDE THE INNER CLASS ? ");
}
class Inner {
void display() {
System.out.println("I am the method in the Inner class.\n You must create an object combining the Outer class with the Inner class to call me "); }
}
public static void main(String[] args){
Rextester.Inner oi = new Rextester().new Inner();
oi.display();
}}
Output.
Compilation time: 1.04 sec, absolute running time: 0.13 sec,
cpu time: 0.07 sec, memory peak: 28 Mb, absolute service time: 1.18 sec
HOW TO CALL A METHOD WRITTEN INSIDE THE INNER CLASS ?
I am the method in the Inner class.
You must create an object combining the Outer class with the Inner class to call me
4- Trong class Inner viết method void display().Muốn call method nầy thì tạo thêm một method nữa thí dụ void run().Trong void run() tạo một object cho class Inner , rồi call method display() trong void run().
class Rextester {
static{
System.out.println("HOW TO CALL A METHOD WRITTEN INSIDE THE INNER CLASS ? ");}
class Inner {void display() {System.out.println("I am the method in the Inner class.\nCreate an object for Inner class inside the method run to call me. "); }}public static void main(String[] args){Rextester rx = new Rextester();rx.run();}
void run(){Inner in = new Inner();in.display();}}
Output.Compilation time: 0.83 sec, absolute running time: 0.13 sec, cpu time: 0.1 sec, memory peak: 27 Mb, absolute service time: 0.96 sec
HOW TO CALL A METHOD WRITTEN INSIDE THE INNER CLASS ?
I am the method in the Inner class.
Create an object for Inner class inside the method run to call me.
5-Nếu method display() viết trong static class Nested.Tạo object cho class Nested trong main method rồi call display() .Thí dụclass Rextester{
static class Nested{void display(){ // Method having no returnSystem.out.println(" Function display() is inside class Nested");}}
public static void main(String[] args){
Nested ns= new Nested();ns.display(); }}
output.
Compilation time: 0.83 sec, absolute running time: 0.14 sec,
cpu time: 0.09 sec, memory peak: 21 Mb, absolute service time: 0.99 sec
Function display() is inside class Nested
GHI CHÚ.
Java programming chấp nhận trong mỗi class, chúng ta có thể viết thêm một hay nhiều classes khác có một tên chung là nested class.Có 2 loại nested class :
* static nested class và non- static nested class.* non-static nested class còn được gọi là INNER CLASS hoặc MEMBER CLASS.* class ngoài cùng gọi là OUTER CLASS.
* INNER CLASS viết trong OUTER CLASS.
* Trong bài nầy,người viết chọn OUTER CLASS là class Rextester để có thể xử dụng compiler của Rextester.com
*Taị sao chúng ta cần dùng Inner class hay Nested class? Vì muốn program được đơn giản và có tổ chức rõ ràng dễ kiểm soát(Simple and Concise),mỗi class làm một phần việc riêng.