Chủ đề: Bài 20: Inner class trong Java
-
07-20-2013, 07:00 AM #1Junior Member
- Ngày tham gia
- Mar 2015
- Bài viết
- 0
Bài 20: Inner class trong Java
/* bài viết thuộc loạt bài hướng dẫn trong "khóa học lập trình java miễn phí"1, khái niệm:
trên diễn đàn android.vn, bạn có thể vào đây đọc
để hiểu hơn về khóa học và tham gia ngay cùng mọi người */
android.vn/attachments/untitled-png.17941/" border="0" alt="" />
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.
Mã nguồn PHP:[color=#000000]
[/color][color=#007700]class [/color][color=#0000bb]a[/color][color=#007700]{ class [/color][color=#0000bb]b[/color][color=#007700]{ }}[/color]
Mã nguồn PHP:[color=#000000]
a obj1 [/color][color=#007700]= new [/color][color=#0000bb]a[/color][color=#007700]();[/color][color=#0000bb]a[/color][color=#007700].[/color][color=#0000bb]b obj2 [/color][color=#007700]= [/color][color=#0000bb]obj1[/color][color=#007700].new [/color][color=#0000bb]b[/color][color=#007700](); [/color]
Mã nguồn PHP:[color=#000000]
[/color][color=#007700]class [/color][color=#0000bb]a [/color][color=#007700]{ private [/color][color=#0000bb]int x [/color][color=#007700]= [/color][color=#0000bb]8[/color][color=#007700]; class [/color][color=#0000bb]b [/color][color=#007700]{ public [/color][color=#0000bb]void printint[/color][color=#007700]() { [/color][color=#0000bb]system[/color][color=#007700].[/color][color=#0000bb]out[/color][color=#007700].[/color][color=#0000bb]println[/color][color=#007700]([/color][color=#0000bb]x[/color][color=#007700]); } }}[/color]
obj2.printint();
2, một số ví dụ:
ví dụ 1: ví dụ bên blog studyandshare
Mã nguồn PHP:[color=#000000]
[/color][color=#007700]public class [/color][color=#0000bb]demojavaandroidvn [/color][color=#007700]{ public static [/color][color=#0000bb]void main[/color][color=#007700]([/color][color=#0000bb]string[/color][color=#007700][] [/color][color=#0000bb]args[/color][color=#007700]) { [/color][color=#0000bb]outer out [/color][color=#007700]= new [/color][color=#0000bb]outer[/color][color=#007700](); [/color][color=#0000bb]out[/color][color=#007700].[/color][color=#0000bb]show[/color][color=#007700](); }} class [/color][color=#0000bb]outer [/color][color=#007700]{ public [/color][color=#0000bb]void show[/color][color=#007700]() { [/color][color=#0000bb]inner in [/color][color=#007700]= new [/color][color=#0000bb]inner[/color][color=#007700](); [/color][color=#0000bb]in[/color][color=#007700].[/color][color=#0000bb]display[/color][color=#007700](); } class [/color][color=#0000bb]inner [/color][color=#007700]{ public [/color][color=#0000bb]void display[/color][color=#007700]() { [/color][color=#0000bb]system[/color][color=#007700].[/color][color=#0000bb]out[/color][color=#007700].[/color][color=#0000bb]println[/color][color=#007700]([/color][color=#dd0000]"đây là inner class."[/color][color=#007700]); } }} class [/color][color=#0000bb]b [/color][color=#007700]{ public [/color][color=#0000bb]void show[/color][color=#007700]() { [/color][color=#0000bb]outer[/color][color=#007700].[/color][color=#0000bb]inner in [/color][color=#007700]= new [/color][color=#0000bb]outer[/color][color=#007700]().new [/color][color=#0000bb]inner[/color][color=#007700](); [/color][color=#0000bb]in[/color][color=#007700].[/color][color=#0000bb]display[/color][color=#007700](); }}[/color]
Mã nguồn PHP:[color=#000000]
package javaandroidvn[/color][color=#007700]; class [/color][color=#0000bb]thoigian [/color][color=#007700]{ public [/color][color=#0000bb]int ngay[/color][color=#007700], [/color][color=#0000bb]thang[/color][color=#007700], [/color][color=#0000bb]nam[/color][color=#007700]; class [/color][color=#0000bb]time [/color][color=#007700]{ public [/color][color=#0000bb]int gio[/color][color=#007700], [/color][color=#0000bb]phut[/color][color=#007700], [/color][color=#0000bb]giay[/color][color=#007700]; public [/color][color=#0000bb]void showtime[/color][color=#007700]() { [/color][color=#0000bb]system[/color][color=#007700].[/color][color=#0000bb]out[/color][color=#007700].[/color][color=#0000bb]println[/color][color=#007700]([/color][color=#dd0000]"ngày " [/color][color=#007700]+ [/color][color=#0000bb]ngay [/color][color=#007700]+ [/color][color=#dd0000]"/" [/color][color=#007700]+ [/color][color=#0000bb]thang [/color][color=#007700]+ [/color][color=#dd0000]"/" [/color][color=#007700]+ [/color][color=#0000bb]nam[/color][color=#007700]); [/color][color=#0000bb]system[/color][color=#007700].[/color][color=#0000bb]out[/color][color=#007700].[/color][color=#0000bb]println[/color][color=#007700]([/color][color=#dd0000]"time: " [/color][color=#007700]+ [/color][color=#0000bb]this[/color][color=#007700].[/color][color=#0000bb]gio [/color][color=#007700]+ [/color][color=#dd0000]": " [/color][color=#007700]+ [/color][color=#0000bb]this[/color][color=#007700].[/color][color=#0000bb]phut [/color][color=#007700]+ [/color][color=#dd0000]": " [/color][color=#007700]+ [/color][color=#0000bb]this[/color][color=#007700].[/color][color=#0000bb]giay[/color][color=#007700]); } }} public class [/color][color=#0000bb]javaandroidvn [/color][color=#007700]{ public static [/color][color=#0000bb]void main[/color][color=#007700]([/color][color=#0000bb]string[/color][color=#007700][] [/color][color=#0000bb]args[/color][color=#007700]) { [/color][color=#0000bb]thoigian tg [/color][color=#007700]= new [/color][color=#0000bb]thoigian[/color][color=#007700](); [/color][color=#0000bb]thoigian[/color][color=#007700].[/color][color=#0000bb]time time [/color][color=#007700]= [/color][color=#0000bb]tg[/color][color=#007700].new [/color][color=#0000bb]time[/color][color=#007700](); [/color][color=#0000bb]tg[/color][color=#007700].[/color][color=#0000bb]ngay [/color][color=#007700]= [/color][color=#0000bb]20[/color][color=#007700]; [/color][color=#0000bb]tg[/color][color=#007700].[/color][color=#0000bb]thang [/color][color=#007700]= [/color][color=#0000bb]7[/color][color=#007700]; [/color][color=#0000bb]tg[/color][color=#007700].[/color][color=#0000bb]nam [/color][color=#007700]= [/color][color=#0000bb]1996[/color][color=#007700]; [/color][color=#0000bb]time[/color][color=#007700].[/color][color=#0000bb]gio [/color][color=#007700]= [/color][color=#0000bb]20[/color][color=#007700]; [/color][color=#0000bb]time[/color][color=#007700].[/color][color=#0000bb]phut [/color][color=#007700]= [/color][color=#0000bb]22[/color][color=#007700]; [/color][color=#0000bb]time[/color][color=#007700].[/color][color=#0000bb]giay [/color][color=#007700]= [/color][color=#0000bb]01[/color][color=#007700]; [/color][color=#0000bb]time[/color][color=#007700].[/color][color=#0000bb]showtime[/color][color=#007700](); }}[/color]
bài tập về nhà::d làm lại thành thạo các ví dụ trên!
đọc thêm: các lớp con (lớp lồng nhau) trong lập trình java
(chú ý: các bạn nên tự giác làm bài tập, hoàn thiện rồi đăng lên, các bài bạn đã làm, nên để code trong thẻ code - chọn thẻ php cho rõ ràng và để ẩn code trong thẻ ẩn spoiler, để khi click vào mới hiện code lên , trước khi thử sức tự làm, bạn không nên nhìn code của các bạn khác đã đăng nhé)
my facebook: https://www.facebook.com/tiasangmoi
bài viết đăng lên diễn đàn khác vui lòng ghi rõ nguồn: android.vn
-
08-29-2013, 07:00 AM #2Junior Member
- Ngày tham gia
- Jan 2015
- Bài viết
- 0
cái này áp dụng trong trường hợp nào hả bạn?
-
09-20-2013, 07:00 AM #3Junior Member
- Ngày tham gia
- May 2015
- Bài viết
- 0
phá phách vậy.
<div class="bbcodeblock bbcodequote bbcmspoilerblock">
<div class="attribution type"><noscript>spoiler (move your mouse to the spoiler area to reveal the content)</noscript>
show spoiler
hide spoiler
</div>
<div class="quotecontent">
<div class="bbcm_spoiler_noscript"><blockquote>
Mã nguồn PHP:[color=#000000]
package structure[/color][color=#007700]; public class [/color][color=#0000bb]innerb [/color][color=#007700]{ public static [/color][color=#0000bb]void main[/color][color=#007700]([/color][color=#0000bb]string args [/color][color=#007700][]){ [/color][color=#0000bb]beach a [/color][color=#007700]= new [/color][color=#0000bb]beach[/color][color=#007700](); [/color][color=#0000bb]a[/color][color=#007700].[/color][color=#0000bb]color [/color][color=#007700]= [/color][color=#dd0000]"green"[/color][color=#007700]; [/color][color=#0000bb]a[/color][color=#007700].[/color][color=#0000bb]place [/color][color=#007700]= [/color][color=#dd0000]"vinh thanh city"[/color][color=#007700]; [/color][color=#0000bb]beach[/color][color=#007700].[/color][color=#0000bb]green b [/color][color=#007700]= new [/color][color=#0000bb]beach[/color][color=#007700]().new [/color][color=#0000bb]green[/color][color=#007700](); [/color][color=#0000bb]b[/color][color=#007700].[/color][color=#0000bb]setnameage[/color][color=#007700]([/color][color=#dd0000]"ho hoai kiet"[/color][color=#007700], [/color][color=#0000bb]20[/color][color=#007700]); [/color][color=#0000bb]b[/color][color=#007700].[/color][color=#0000bb]shownameage[/color][color=#007700](); }[/color][color=#ff8000]//method main.[/color][color=#007700]}[/color][color=#ff8000]// class innerb [/color][color=#007700]class [/color][color=#0000bb]beach [/color][color=#007700]{ public [/color][color=#0000bb]string color [/color][color=#007700]= [/color][color=#dd0000]"red"[/color][color=#007700], [/color][color=#0000bb]place [/color][color=#007700]= [/color][color=#dd0000]"hue city"[/color][color=#007700]; class [/color][color=#0000bb]green [/color][color=#007700]{ private [/color][color=#0000bb]string name[/color][color=#007700]; private [/color][color=#0000bb]int age[/color][color=#007700]; public [/color][color=#0000bb]void setnameage[/color][color=#007700]([/color][color=#0000bb]string name[/color][color=#007700], [/color][color=#0000bb]int age[/color][color=#007700]){ [/color][color=#0000bb]this[/color][color=#007700].[/color][color=#0000bb]name [/color][color=#007700]= [/color][color=#0000bb]name[/color][color=#007700]; [/color][color=#0000bb]this[/color][color=#007700].[/color][color=#0000bb]age [/color][color=#007700]= [/color][color=#0000bb]age[/color][color=#007700]; }[/color][color=#ff8000]//method setnnameage. [/color][color=#007700]public [/color][color=#0000bb]string getname[/color][color=#007700](){ return [/color][color=#0000bb]name[/color][color=#007700]; }[/color][color=#ff8000]//method getname. [/color][color=#007700]public [/color][color=#0000bb]int getage[/color][color=#007700](){ return [/color][color=#0000bb]age[/color][color=#007700]; }[/color][color=#ff8000]//method getage. [/color][color=#007700]public [/color][color=#0000bb]void shownameage[/color][color=#007700](){ [/color][color=#0000bb]system[/color][color=#007700].[/color][color=#0000bb]out[/color][color=#007700].[/color][color=#0000bb]println[/color][color=#007700]([/color][color=#dd0000]"name: "[/color][color=#007700]+[/color][color=#0000bb]getname[/color][color=#007700]()+[/color][color=#dd0000]" age: "[/color][color=#007700]+[/color][color=#0000bb]getage[/color][color=#007700]() ); [/color][color=#0000bb]system[/color][color=#007700].[/color][color=#0000bb]out[/color][color=#007700].[/color][color=#0000bb]println[/color][color=#007700]([/color][color=#dd0000]"place: "[/color][color=#007700]+[/color][color=#0000bb]place [/color][color=#007700]+[/color][color=#dd0000]" color: "[/color][color=#007700]+[/color][color=#0000bb]color[/color][color=#007700]); } }[/color][color=#ff8000]//class greee.[/color][color=#007700]}[/color][color=#ff8000]//class beach.[/color]
</div>
</div>
-
10-25-2013, 07:00 AM #4Junior Member
- Ngày tham gia
- May 2015
- Bài viết
- 0
post một bài cho vui, hihi: :d
<div class="bbcodeblock bbcodequote bbcmspoilerblock">
<div class="attribution type"><noscript>spoiler (move your mouse to the spoiler area to reveal the content)</noscript>
show spoiler
hide spoiler
</div>
<div class="quotecontent">
<div class="bbcm_spoiler_noscript"><blockquote>
Mã nguồn PHP:[color=#000000]
package com[/color][color=#007700].[/color][color=#0000bb]hanhnv[/color][color=#007700].[/color][color=#0000bb]bai20[/color][color=#007700]; public class [/color][color=#0000bb]bai20 [/color][color=#007700]{ public static [/color][color=#0000bb]void main[/color][color=#007700]([/color][color=#0000bb]string[/color][color=#007700][] [/color][color=#0000bb]args[/color][color=#007700]){ [/color][color=#0000bb]cmctelecom cmc [/color][color=#007700]= new [/color][color=#0000bb]cmctelecom[/color][color=#007700](); [/color][color=#0000bb]cmctelecom[/color][color=#007700].[/color][color=#0000bb]bkav bkav [/color][color=#007700]= [/color][color=#0000bb]cmc[/color][color=#007700].new [/color][color=#0000bb]bkav[/color][color=#007700](); [/color][color=#0000bb]cmc[/color][color=#007700].[/color][color=#0000bb]cmcname [/color][color=#007700]= [/color][color=#dd0000]"công ty cổ phần hạ tầng viễn thông cmc - cmc telecom."[/color][color=#007700]; [/color][color=#0000bb]cmc[/color][color=#007700].[/color][color=#0000bb]cmcaddress [/color][color=#007700]= [/color][color=#dd0000]"tầng 15, tòa nhà cmc, duy tân, cầu giấy, hà nội."[/color][color=#007700]; [/color][color=#0000bb]cmc[/color][color=#007700].[/color][color=#0000bb]cmcfield [/color][color=#007700]= [/color][color=#dd0000]"cung cấp dịch vụ internet cáp quang tốc độ cao."[/color][color=#007700]; [/color][color=#0000bb]cmc[/color][color=#007700].[/color][color=#0000bb]cmcwebsite [/color][color=#007700]= [/color][color=#dd0000]"http://www.cmctelecom.vn"[/color][color=#007700]; [/color][color=#0000bb]cmc[/color][color=#007700].[/color][color=#0000bb]cmcstaff [/color][color=#007700]= [/color][color=#0000bb]500[/color][color=#007700]; [/color][color=#0000bb]bkav[/color][color=#007700].[/color][color=#0000bb]bkavname [/color][color=#007700]= [/color][color=#dd0000]"tập đoàn bkav - bkav coporation."[/color][color=#007700]; [/color][color=#0000bb]bkav[/color][color=#007700].[/color][color=#0000bb]bkavaddress [/color][color=#007700]= [/color][color=#dd0000]"tòa nhà bkav – khu đô thị yên hòa – cầu giấy – hà nội."[/color][color=#007700]; [/color][color=#0000bb]bkav[/color][color=#007700].[/color][color=#0000bb]bkavfield [/color][color=#007700]= [/color][color=#dd0000]"hoạt động trong lĩnh vực an ninh mạng."[/color][color=#007700]; [/color][color=#0000bb]bkav[/color][color=#007700].[/color][color=#0000bb]bkavwebsite [/color][color=#007700]= [/color][color=#dd0000]"http://www.bkav.com.vn"[/color][color=#007700]; [/color][color=#0000bb]bkav[/color][color=#007700].[/color][color=#0000bb]bkavstaff [/color][color=#007700]= [/color][color=#0000bb]900[/color][color=#007700]; [/color][color=#0000bb]bkav[/color][color=#007700].[/color][color=#0000bb]showdetails[/color][color=#007700](); }} class [/color][color=#0000bb]cmctelecom[/color][color=#007700]{ public [/color][color=#0000bb]string cmcname[/color][color=#007700]; public [/color][color=#0000bb]string cmcaddress[/color][color=#007700]; public [/color][color=#0000bb]string cmcfield[/color][color=#007700]; public [/color][color=#0000bb]string cmcwebsite[/color][color=#007700]; public [/color][color=#0000bb]int cmcstaff[/color][color=#007700]; class [/color][color=#0000bb]bkav[/color][color=#007700]{ public [/color][color=#0000bb]string bkavname[/color][color=#007700]; public [/color][color=#0000bb]string bkavaddress[/color][color=#007700]; public [/color][color=#0000bb]string bkavwebsite[/color][color=#007700]; public [/color][color=#0000bb]string bkavfield[/color][color=#007700]; public [/color][color=#0000bb]int bkavstaff[/color][color=#007700]; public [/color][color=#0000bb]void showdetails[/color][color=#007700](){ [/color][color=#0000bb]system[/color][color=#007700].[/color][color=#0000bb]out[/color][color=#007700].[/color][color=#0000bb]println[/color][color=#007700]([/color][color=#dd0000]"một vài thông tin về cmc telecom:
tên giao dịch: "[/color][color=#007700]+[/color][color=#0000bb]cmcname[/color][color=#007700]+[/color][color=#dd0000]"
địa chỉ: "[/color][color=#007700]+[/color][color=#0000bb]cmcaddress[/color][color=#007700]+[/color][color=#dd0000]"
website: "[/color][color=#007700]+[/color][color=#0000bb]cmcwebsite[/color][color=#007700]+[/color][color=#dd0000]"
lĩnh vực hoạt động: "[/color][color=#007700]+[/color][color=#0000bb]cmcfield[/color][color=#007700]+[/color][color=#dd0000]"
số lượng nhân viên: "[/color][color=#007700]+[/color][color=#0000bb]cmcstaff[/color][color=#007700]); [/color][color=#0000bb]system[/color][color=#007700].[/color][color=#0000bb]out[/color][color=#007700].[/color][color=#0000bb]println[/color][color=#007700]([/color][color=#dd0000]"
"[/color][color=#007700]); [/color][color=#0000bb]system[/color][color=#007700].[/color][color=#0000bb]out[/color][color=#007700].[/color][color=#0000bb]println[/color][color=#007700]([/color][color=#dd0000]"một vài thông tin về bkav coporation:
tên giao dịch: "[/color][color=#007700]+[/color][color=#0000bb]bkavname[/color][color=#007700]+[/color][color=#dd0000]"
địa chỉ: "[/color][color=#007700]+[/color][color=#0000bb]bkavaddress[/color][color=#007700]+[/color][color=#dd0000]"
website: "[/color][color=#007700]+[/color][color=#0000bb]bkavwebsite[/color][color=#007700]+[/color][color=#dd0000]"
lĩnh vực hoạt động: "[/color][color=#007700]+[/color][color=#0000bb]bkavfield[/color][color=#007700]+[/color][color=#dd0000]"
số lượng nhân viên: "[/color][color=#007700]+[/color][color=#0000bb]bkavstaff[/color][color=#007700]); } } }[/color]
</div>
</div>
-
01-23-2014, 07:00 AM #5Junior Member
- Ngày tham gia
- Jan 2015
- Bài viết
- 0
<div class="bbcodeblock bbcodequote bbcmspoilerblock">
<div class="attribution type"><noscript>spoiler (move your mouse to the spoiler area to reveal the content)</noscript>
show spoiler
hide spoiler
</div>
<div class="quotecontent">
<div class="bbcm_spoiler_noscript"><blockquote>
Mã nguồn PHP:[color=#000000]
[/color][color=#007700]public class [/color][color=#0000bb]inner [/color][color=#007700]{ public static [/color][color=#0000bb]void main[/color][color=#007700]([/color][color=#0000bb]string[/color][color=#007700][] [/color][color=#0000bb]args[/color][color=#007700]) { [/color][color=#0000bb]aa a [/color][color=#007700]= new [/color][color=#0000bb]aa[/color][color=#007700](); [/color][color=#0000bb]aa[/color][color=#007700].[/color][color=#0000bb]b b [/color][color=#007700]= [/color][color=#0000bb]a[/color][color=#007700].new [/color][color=#0000bb]b[/color][color=#007700](); [/color][color=#0000bb]aa[/color][color=#007700].[/color][color=#0000bb]b c [/color][color=#007700]= new [/color][color=#0000bb]aa[/color][color=#007700]().new [/color][color=#0000bb]b[/color][color=#007700](); [/color][color=#0000bb]c[/color][color=#007700].[/color][color=#0000bb]show[/color][color=#007700](); [/color][color=#0000bb]b[/color][color=#007700].[/color][color=#0000bb]show[/color][color=#007700](); }} class [/color][color=#0000bb]aa [/color][color=#007700]{ private [/color][color=#0000bb]int x [/color][color=#007700]= [/color][color=#0000bb]8[/color][color=#007700]; class [/color][color=#0000bb]b [/color][color=#007700]{ public [/color][color=#0000bb]void show[/color][color=#007700](){ [/color][color=#0000bb]system[/color][color=#007700].[/color][color=#0000bb]out[/color][color=#007700].[/color][color=#0000bb]println[/color][color=#007700]([/color][color=#dd0000]"x = :" [/color][color=#007700]+ [/color][color=#0000bb]x[/color][color=#007700]); } }}[/color]
</div>
</div>
-
04-01-2014, 07:00 AM #6Junior Member
- Ngày tham gia
- Mar 2015
- Bài viết
- 0
tại sao khi mình thay đổi dòng thoigian.time time = tg.new time(); thành như thế này thoigian.time time = new thoigian.new time();thì lúc mình run as thì nó hiện kết quả ra ngày tháng năm là 0 / 0 / 0.
-
05-07-2014, 07:00 AM #7Junior Member
- Ngày tham gia
- Apr 2016
- Bài viết
- 0
<div class="bbcodeblock bbcodequote bbcmspoilerblock">
<div class="attribution type"><noscript>spoiler (move your mouse to the spoiler area to reveal the content)</noscript>
show spoiler
hide spoiler
</div>
<div class="quotecontent">
<div class="bbcm_spoiler_noscript"><blockquote>
Mã:class thoigian{ public int ngay, thang, nam; class time{ public int gio, phut, giay; public void showtime() { system.out.println("ngay "+ ngay+"/"+thang+"/"+nam); system.out.println("time: "+this.gio+":"+this.phut+":"+this.giay); } } } public class hellojava { public static void main(string [] args){ thoigian thoigian = new thoigian(); thoigian.time time = thoigian.new time(); thoigian.ngay = 20; thoigian.thang = 7; thoigian.nam = 1997; time.giay = 01; time.phut = 02; time.gio = 20; time.showtime(); } }
</div>
</div>
-
06-08-2014, 07:00 AM #8Junior Member
- Ngày tham gia
- Jan 2015
- Bài viết
- 0
Gửi bởi tahuy
-
06-16-2014, 07:00 AM #9Junior Member
- Ngày tham gia
- May 2014
- Bài viết
- 0
cho mình hỏi hoặc xin link về cách dùng biến this. được không ạ?
lí do tại sao lệnh println() thứ 2 lại dùng biến this?
-
07-08-2014, 07:00 AM #10Junior Member
- Ngày tham gia
- Jul 2015
- Bài viết
- 3
Gửi bởi zquangu112z
Bạn muốn tạo nên một không gian phòng ngủ ấm cúng, sang trọng và bền bỉ theo thời gian? Bộ giường tủ phòng ngủ gỗ tự nhiên Hoàng Vân là lựa chọn hoàn hảo, kết hợp giữa thẩm mỹ và chất lượng vượt...
Bộ Giường Tủ Phòng Ngủ Gỗ Tự Nhiên – Vẻ Đẹp Sang Trọng, Tinh Tế