麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

介紹訪問控制

2019-11-18 13:50:05
字體:
來源:轉載
供稿:網友

我們知道,封裝將數據和處理數據的代碼連接起來。同時,封裝也提供另一個重要屬性:訪問控制(access control )。通過封裝你可以控制程序的哪一部分可以訪問類的成員。通過控制訪問,可以阻止對象的濫用。例如,通過只答應適當定義的一套方法來訪問數據,你能阻止該數據的誤用。因此,假如使用得當,可以把類創建一個“黑盒子”,雖然可以使用該類,但是它的內部機制是不公開的,不能修改。但是,本書前面創建的類可能不會完全適合這個目標。例如,考慮在第6章末尾示例的Stack類。方法push( ) 和pop() 確實為堆棧提供一個可控制的接口,這是事實,但這個接口并沒被強制執行。也就是說,程序的其他部分可以繞過這些方法而直接存取堆棧,這是可能的。當然,假如使用不當,這可能導致麻煩。本節將介紹能精確控制一個類各種各樣成員的訪問的機制。

一個成員如何被訪問取決于修改它的聲明的訪問指示符(access specifier )。java 提供一套豐富的訪問指示符。存取控制的某些方面主要和繼續或包聯系在一起(包,package,本質上是一組類)。Java 的這些訪問控制機制將在以后討論。現在,讓我們從訪問控制一個簡單的類開始。一旦你理解了訪問控制的基本原理,其他部分就比較輕易了。

Java 的訪問指示符有public (公共的,全局的)、PRivate (私有的,局部的)、和protected (受保護的)。Java 也定義了一個默認訪問級別。指示符protected僅用于繼續情況中。下面我們描述其他兩個訪問指示符。

讓我們從定義public 和private 開始。當一個類成員被public 指示符修飾時,該成員可以被你的程序中的任何其他代碼訪問。當一個類成員被指定為private 時,該成員只能被它的類中的其他成員訪問。現在你能理解為什么main( ) 總是被public 指示符修飾。它被在程序外面的代碼調用,也就是由Java 運行系統調用。假如不使用訪問指示符,該類成員的默認訪問設置為在它自己的包內為public ,但是在它的包以外不能被存取(包將在以后的章節中討論)。

到目前為止,我們開發的類的所有成員都使用了默認訪問模式,它實質上是public 。然而,這并不是你想要的典型的方式。通常,你想要對類數據成員的訪問加以限制,只答應通過方法來訪問它。另外,有時你想把一個方法定義為類的一個私有的方法。

訪問指示符位于成員類型的其他說明的前面。也就是說,成員聲明語句必須以訪問指示符開頭。下面是一個例子:

public int i;
private double j;

private int myMethod(int a,char b) { // ...

要理解public 和private 對訪問的作用,看下面的程序:

/* This program demonstrates the difference between

public and private.

*/

class Test {

int a; // default access

public int b; // public access

private int c; // private access

// methods to access c

void setc(int i) { // set c's value

c = i; }

int getc() { // get c's value

return c;
}
}

class AccessTest {
public static void main(String args[]) {
Test ob = new Test();

// These are OK,a and b may be accessed directlyob.a = 10;ob.b = 20;

// This is not OK and will cause an error
// ob.c = 100; // Error!



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: av老司机久久| 欧美精品免费一区二区三区 | 少妇色诱麻豆色哟哟 | 国产精品午夜小视频观看 | 黄色网址免费入口 | 天天看天天摸天天操 | 久久久久久久一区二区三区 | 性高跟鞋xxxxhd4kvideos | 国产自在线 | 看毛片的网址 | 日本精品久久久一区二区三区 | 九九热精品免费视频 | 久久久免费观看完整版 | 一级视频网站 | 国产精品久久久久久影院8一贰佰 | 中国hdxxxx护士爽在线观看 | 黄片一级毛片 | 国产精品视频自拍 | 午夜免费一区 | 日韩 综合| 久久草在线视频免费 | 99ri精品 | 欧美3p激情一区二区三区猛视频 | 国产麻豆久久 | 欧美一级淫片免费视频1 | 午夜丰满少妇高清毛片1000部 | 免费国产一级淫片 | 草草久久久| chinese xvideos gay| 日本不卡二区 | 欧美一级高潮 | 国产1区2| 亚洲第一成人在线视频 | 亚洲精品久久久久久 | 国产一国产一级毛片视频 | 午夜小电影| av在线免费网 | 国产精品成人一区二区三区吃奶 | 91欧美视频 | 国产成人精品一区二区视频免费 | 免费观看黄视频 |