java實現封裝的三部_Java 封裝

Java 封裝

在面向對象程式設計方法中,封裝(英語:Encapsulation)是指,一種將抽象性函式接口的實作細節部份包裝、隱藏起來的方法。

封裝可以被認為是一個保護屏障,防止該類的代碼和數據被外部類定義的代碼隨機訪問。

要訪問該類的代碼和數據,必須通過嚴格的接口控制。

封裝最主要的功能在于我們能修改自己的實現代碼,而不用修改那些調用我們代碼的程序片段。

適當的封裝可以讓程式碼更容易理解與維護,也加強了程式碼的安全性。

實例

讓我們來看一個java封裝類的例子: /* 文件名: EncapTest.java */

public class EncapTest{

private String name;

private String idNum;

private int age;

public int getAge(){

return age;

}

public String getName(){

return name;

}

public String getIdNum(){

return idNum;

}

public void setAge( int newAge){

age = newAge;

}

public void setName(String newName){

name = newName;

}

public void setIdNum( String newId){

idNum = newId;

}

}

以上實例中public方法是外部類訪問該類成員變量的入口。

通常情況下,這些方法被稱為getter和setter方法。

因此,任何要訪問類中私有成員變量的類都要通過這些getter和setter方法。

通過如下的例子說明EncapTest類的變量怎樣被訪問: /* F文件名 : RunEncap.java */

public class RunEncap{

public static void main(String args[]){

EncapTest encap = new EncapTest();

encap.setName("James");

encap.setAge(20);

encap.setIdNum("12343ms");

System.out.print("Name : " + encap.getName()+

" Age : "+ encap.getAge());

}

}

以上代碼編譯運行結果如下: Name : James Age : 20

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/395087.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/395087.shtml
英文地址,請注明出處:http://en.pswp.cn/news/395087.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

小豬短租超棒新房_freeCodeCamp講座簡介:您可以免費觀看的超棒技術講座

小豬短租超棒新房by Quincy Larson昆西拉爾森(Quincy Larson) freeCodeCamp講座簡介:您可以免費觀看的超棒技術講座 (Introducing freeCodeCamp Talks: awesome tech talks you can watch for free) Developers give thousands of tech talks every year at confer…

安卓10不支持qmc解碼_官宣:安卓10已發布!21款手機已適配,小米華為率先支持...

隨著今天凌晨谷歌 I/O 大會的召開,Android Q 也就是安卓10正式官宣,新版的安卓10加入了諸多新手勢,從 Home 鍵設計上看,安卓10 的新版手勢很大程度上有疑似借鑒 iOS 的手勢,底部一個長條,作為 Home 用來返回…

linux系統編程之進程(七):system()函數使用【轉】

本文轉載自:http://www.cnblogs.com/mickole/p/3187974.html 一,system()理解 功能:system()函數調用“/bin/sh -c command”執行特定的命令,阻塞當前進程直到command命令執行完畢 原型: int system(const char *comma…

安裝了最新版本的java 用友nc打不開_NC無法安裝客戶端插件,不能進入用友NC系統登陸界面...

NC無法安裝客戶端插件,不能進入用友NC系統登陸界面問題現象現象1:可以打開web界面,但無法進入登陸界面,一直停留在右圖所示界面。現象2:系統提示安全警告問題原因在使用IE首次登錄NC系統時,系統會自動下載N…

漢王云名片識別(SM)組件開發詳解

大家好,最近在DeviceOne平臺上做了一個漢王云名片識別的功能組件。下面把我開發過程給大家做一個分享,希望可以幫助到大家。 下面我把我的思路給大家講解一下。1.找到我要集成的sdk,也就是漢王云名片的sdk下載(android和ios&#…

[App Store Connect幫助]八、維護您的 App(4.2)查看評分與評論

您可以查看 App 的總評分或單個顧客評論。如有必要,您可以針對某條評論報告問題。 【注】顧客可以為您的 iOS 和 macOS App 評分并撰寫評論,但只能為 Apple TVOS App 評分。 必要職能:“帳戶持有人”職能、“管理”職能、“App 管理”職能、“…

visio studio json工具_《產品經理入門指南》彩蛋2:別技淫原型圖!你的Visio和Balsamiq Mockup入門了嗎?...

溫馨提示:如果你有關于產品經理方面的任何問題,歡迎關注我的微信公眾號與我互動。最新的免費系統的產品經理課程《老司機帶你做產品》已經推出,請關注微信公眾號:iamliuwenzhi很多產品新人剛開始工作時,喜歡一拿到需求…

漸進式web應用程序_通過漸進式Web應用程序吸引用戶并增強他們的體驗

漸進式web應用程序by Dave Gray戴夫格雷(Dave Gray) 通過漸進式Web應用程序吸引用戶并增強他們的體驗 (Engage your users and enhance their experience with Progressive Web Apps) 什么是漸進式Web應用程序? (What is a Progressive Web App?) A Progressive W…

mysql牽引例子_MySQL學習06(事務和索引)

事務概述什么是事務事務就是將一組SQL語句放在同一批次內去執行如果一個SQL語句出錯,則該批次內的所有SQL都將被取消執行MySQL事務處理只支持InnoDB和BDB數據表類型事務的ACID原則原子性(Atomic)整個事務中的所有操作,要么全部完成,要么全部不完成&#…

android操作系統 真的嗎_旋挖機培訓學校真的能學會嗎,旋挖鉆機到底有哪些操作系統...

旋挖機培訓學校真的能學會嗎添加微:yywyyc 旋挖鉆機到底有哪些操作系統【前言】很多使用旋挖鉆機或者想要了解旋挖鉆機的工程公司可能不是特別了解旋挖鉆機本身的系統以及部件,本篇文章針對旋挖鉆機的操作系統來給大家介紹一下,讓大家了…

WebAPI 2參數綁定方法

簡單類型參數 Example 1: Sending a simple parameter in the Url [RoutePrefix("api/values")] public class ValuesController : ApiController {// http://localhost:49407/api/values/example1?id2[Route("example1")][HttpGet]public string Get(int…

推薦幾個自己經常去的一些博客和網站

唐巧的技術博客objc中國Ray WenderlichCocoaDocs.orgNSHipsterLukes HomepageCocoabit | 做自己喜歡的事情轉載于:https://www.cnblogs.com/faceup/p/10423259.html

創建hugo博客_Hugo + Firebase:如何在幾分鐘內免費創建自己的靜態網站

創建hugo博客by Aravind Putrevu通過Aravind Putrevu Hugo Firebase:如何在幾分鐘內免費創建自己的靜態網站 (Hugo Firebase: How to create your own static website for free in minutes) Ever thought of having your own website for putting up your projec…

探測與響應是各企業機構在2017年的首要安全事務

作者系:Gartner首席研究分析師 Sid Deshpande &Gartner研究總監 Lawrence Pingree 2017年,各個企業正在改變其安全支出戰略,從僅注重防御轉而更加關心探測和響應程度。2017年的全球信息安全支出預計將達到900億美元,相較2016年…

java怎么引入html文件路徑_如何在public_html中讀取文件但在域外?使用相對路徑...

我正在嘗試從我的(附加組件)域目錄之外的目錄中讀取文件 . 這是我的目錄結構:public_html /domain /file_read.phpfile_write.phpsensitive /file.dat雖然我能夠使用“../sensitive/file.dat”寫入敏感,但我無法使用相同的方法進行讀取 . 有什么想法嗎&a…

JS基本概念(3)

【5】操作符 (1)一元操作符:只能操作一個值的操作符 遞增、遞減操作符a --a 前置    a a-- 后置(這四個操作符對任何值都適用,不能轉換成數字的轉換為NaN) 一元加、一元減操作符&#xff0…

csv文件怎么轉成excel_Java讀寫excel,excel轉成json寫入磁盤文件

pom讀寫excel主要的dependency<dependency> <groupId>org.apache.poigroupId> <artifactId>poiartifactId> <version>3.16version> dependency> <dependency> <groupId>org.apache.poigroupId> …

如何用Ant Design Pro框架做項目省力

1、熟悉React所有語法&#xff0c;以及redux、redux-saga、dva、一類的庫的能力 2、靈活運用該框架提供的基礎UI組件&#xff0c;想方設法利用現有的UI組件進行組合&#xff0c;盡可能減少工作量 轉載于:https://www.cnblogs.com/ww01/p/10430553.html

通過在Chipotle用餐了解模板方法設計模式

by Sihui Huang黃思慧 通過在Chipotle用餐了解模板方法設計模式 (Understanding the Template Method design pattern by eating at Chipotle) Object-Oriented Design Patterns in Life— gain an intuitive understanding of OO design patterns by linking them with real-…

Coriant助力Aureon部署100Gbps光纖網絡

根據相關消息顯示&#xff0c;光傳輸設備廠商Coriant日前表示已經向網絡傳輸和業務通信服務供應商Aureon Technology提供了7100納米分組光傳輸平臺&#xff0c;幫助其進行100Gbps光纖網絡的拓展。 該服務供應商&#xff08;Aureon&#xff09;將利用該分組光傳輸系統&#xff0…