Java筆記-私有的(private) & 公用的(public) & 封裝 - FantasyWorld

文章推薦指數: 80 %
投票人數:10人

import java.util.Scanner; class Main { public static void main(String[] args) { Scanner input = new Scanner(System.in); Car BMW = new Car(); ... FantasyWorld 跳到主文 幻想的大本營 記憶的相簿 經驗的累積 部落格全站分類:心情日記 相簿 部落格 留言 名片 Dec17Fri201010:41 Java筆記-私有的(private)&公用的(public)&封裝 所謂的public與private是為了控制類別外部的存取權而設定的東西,就把它想像成權限吧,當設成private時外部的類別就無法存取,設成public外部的任何類別都可以存取,其實還有一個叫做protected的,他是保護的意思,只有在同一個package或繼承該類別後才能夠存取,好了抽象的說明到此為止,下面用例子來實做看看   //public實例 classMain{ publicstaticvoidmain(String[]args){ Class1c=newClass1(); System.out.println(c.str); } } classClass1 { publicStringstr="Hello"; } 會發現他能正常的印出"hello",但如果說把str的權限改成private,你會發現他會跳出error,會變得無法用c.str存取,如果說為了保護屬性不想讓他能由外部隨意存取,必須由內部控制,假設今天我們有一台車,可是這台車如果跑超過5km/h就會解體我們必須保護這台車的無論油門怎樣踩時速都不會超過5km/h,可以寫一個公用的(public)方法去操作 importjava.util.Scanner; classMain{ publicstaticvoidmain(String[]args){ Scannerinput=newScanner(System.in); CarBMW=newCar(); System.out.println("如要加速請按+"); while(input.hasNext()) { if(input.next().equals("+"))BMW.speeded_up(); System.out.println("現在時速"+BMW.getSpeed()); System.out.println("如要加速請按+"); } } } classCar { privateintspeed; publicvoidspeeded_up() { if(speed<5)speed++; } publicintgetSpeed() { returnspeed; } }   這樣會發現當時速到達5km/s時不管怎麼按+,他永遠也不會超過5,所以我們藉此來控制speed的值,甚至能在speeded_up方法中控制在某一速度時會爆衝阿或是到達5km/s他會熄火歸零之類的,利用公用的方法去存取私用的屬性,這就是物件導向中的封裝精神,你不需要知道該類別的內容是什麼,你只需要藉由某個公用的方法去存取該類別,能達到保護資料的效果 全站熱搜 創作者介紹 雲淡風清 FantasyWorld 雲淡風清發表在痞客邦留言(0)人氣() E-mail轉寄 全站分類:不設分類個人分類:JAVA語言程式此分類上一篇:Java筆記(一)-名詞簡介 上一篇:Java筆記(一)-名詞簡介 下一篇:ASP.NET[C#]-SQL資料表新增資料語法 ▲top 留言列表 發表留言 站方公告 [公告]2022/09/02相簿、部落格功能維護公告[公告]2022/08/22、08/23應用市集部分功能維護公告[公告]痞客邦APP全新服務上線-美食優惠券 活動快報 痞客邦來吧!旅遊趣 【痞客邦來吧!旅遊趣】需要網友們一起來分享你部... 看更多活動好康 我的好友 熱門文章 文章分類 HTML(0) t(0) JAVA語言程式(2)few(0)sw(0)心情日記(0)資料結構(3)未分類文章(3) 最新文章 最新留言 動態訂閱 文章精選 文章精選 2012一月(2) 2011一月(1) 2010十二月(5) 所有文章列表 文章搜尋 新聞交換(RSS) 誰來我家 參觀人氣 本日人氣: 累積人氣: QRCode POWEREDBY (登入) 回到頁首 回到主文 免費註冊 客服中心 痞客邦首頁 ©2003-2022PIXNET 關閉視窗



請為這篇文章評分?