14 June 2016

Bài 20: Inner class trong Java

Untitled
​
1, Khái niệm:

Một class nằm trong class khác được gọi là inner class. Inner class có thể coi như một thuộc tính của class. Nghĩa là bạn không thể khởi tạo đối tượng B nếu chưa khởi tạo đối tượng A.
PHP:
class A{
    class 
B{
    }
}
PHP:
A obj1 = new A();A.B obj2 = obj1.new B(); 
Bởi class B nằm trong class A nên nó có thể truy cập tất cả các thuộc tính hay phương thức của class A
PHP:
class A  {
    private 
int x = 8;
    class 
B {
        public 
void printInt() {
            
System.out.println(x);
        }
    }
}
Để sử dụng method vừa tạo, ta có thể viết:
obj2.printInt();

2, Một số ví dụ:

Ví dụ 1: Ví dụ bên Blog StudyAndShare


​
PHP:
public class DemoJavaAndroidVn {
      public static 
void main(String[] args) {
            
Outer out = new Outer();
            
out.show();
      }
}

class 
Outer {
      public 
void show() {
            
Inner in = new Inner();
            
in.display();
      }

      class 
Inner {
            public 
void display() {
                  
System.out.println("Đây là inner class.");
            }
      }
}

class 
B {
      public 
void show() {
            
Outer.Inner in = new Outer().new Inner();
            
in.display();
      }
}
Ví dụ 2:
PHP:
package javaandroidvn;

class 
ThoiGian {

    public 
int ngay, thang, nam;

    class 
Time {

        public 
int gio, phut, giay;

        public 
void showTime() {
            
System.out.println("Ngày " + ngay + "/" + thang + "/" + nam);
            
System.out.println("Time: " + this.gio + ": " + this.phut + ": " + this.giay);
        }
    }
}

public class 
JavaAndroidVn {

    public static 
void main(String[] args) {
        
ThoiGian tg = new ThoiGian();
        
ThoiGian.Time time = tg.new Time();
        
tg.ngay = 20;
        
tg.thang = 7;
        
tg.nam = 1996;
        
time.gio = 20;
        
time.phut = 22;
        
time.giay = 01;
        
time.showTime();

    }
}

Nguồn : Android.vn

 

BACK TO TOP

Xuống cuối trang