java 訪問控制權限_Java訪問控制權限有哪些?區別是什么?

原標題:Java訪問控制權限有哪些?區別是什么?

Java中的類和方法等都是有訪問控制權限的,用來控制方法、類、屬性等的生效范圍,Java有四種訪問控制權限,其中比較常用的就是public和private,今天華清遠見Java學院就和大家分享下4種Java訪問控制權限的區別,希望對大家有所幫助。

10017a65deff99904fc29a7a56c2b76e.png

Java有四種訪問控制權限:public、protected、friendly(default)、private,這四種權限的作用于如下:

33bdb7f4b6c26ca58cad540022860ace.png

那么,如何理解Java中的這4種訪問控制權限呢?

private:如果一個成員方法或成員變量或內部類名前使用了private訪問控制符,那么這個成員只能在這個類的內部使用。

friendly:如果一個成員方法或成員變量名前沒有使用任何訪問控制符,就稱這個成員所擁有的是默認的(default)訪問控制符。默認的訪問控制成員可以被這個包中的其它類訪問(同一包中的任何類)。如果一個子類與其父類位于不同的包中,子類也不能訪問父類中的默認訪問控制成員。(所以它是針對同一包,不針對子孫類)。

protected:如果一個成員方法或成員變量名前使用了protected訪問控制符,那么這個成員既可以被同一個包中的其它類訪問通過new實例化該類后調用,也可以并只可以被不同包中的子類覆寫或直接調用而非實例化訪問訪問。(同意包類+子孫類)

public:如果一個成員方法或成員變量名前使用了public訪問控制符,那么這個成員可以被所有的類訪問,不管訪問類與被訪問類是否在同一個包中。

他是指該被訪問控制權限修飾的成員的作用域。

比如在包1定義了public父類,子類。那么該子類可以訪問和覆寫的該父類的public/protected/friendly修飾的成員(方法、變量、類)。而在包2內的類中實例化一個包1的子類,也不可以訪問它的或它父類的friendly即protected修飾的成員,但可以繼承它而訪問或覆寫protetcted修飾的成員.在子孫類中并不是指new出來訪問而是指直接訪問。

構造器也有訪問控制權限,但無返回值類型。

以上簡單介紹了一下4種Java訪問控制權限的區別,平時使用的時候大家可以根據需求和環境進行選擇。返回搜狐,查看更多

責任編輯:

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

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

相關文章

java 操作cursor數據庫_Java連接各種數據庫以及調用存儲過程

準備工作:1. 創建表drop table T_TEST_PROCEDURE cascade constraints;/**//*Table: T_TEST_PROCEDURE*//**/createtable T_TEST_PROCEDURE (IDNUMBER(19) not null,NAMEVARCHAR2(40),AGE NUMBER(3),constraintPK_T_TEST_PROCEDURE primary key (ID));2. 創建存儲過…

java 規格overview_《Java數據結構和算法》- OverView

Q: 不同數據結構的優缺點?數據結構優點缺點數組(Array)快速訪問,如果知道下標,就可以非常快地存取查找慢, 插入或刪除慢, 大小固定有序數組(OrderedArray)比無序的數組查找快插入或刪除慢,大小固定棧(Stack…

mysql 集群怎么卸載節點_Greenplum移除節點

基于某某原因,我們的Greenplum需要卸載一個節點(測試環境的Greenplum集群),由于該集群使用了很久,里面有許多開發所需要的數據,所以在卸掉一個節點后,還要保證數據不會丟失。當然,期間也遇到了點問題&#…

mysql2012更改表名_T-SQL入門攻略之13-修改數據表

--> Title : T-SQL入門攻略之13-修改數據表--> Author : wufeng4552--> Date : 2010-07-12修改表名與字段名—sp_rename--1修改表名SQL Server不直接提供修改表名的T-SQL語句,但是可以通過存儲過程實現語法格式:sp_rename tablename,newtabl…

python中不論類的名字是什么歌_Python自動猜歌名,還愁排名上不去嘛?

前言相傳,就在前幾日,在網上閑逛時,刷到了一個猜歌的小程序。這個小程序通過播放歌曲部分片段,然后讓用戶來猜它的歌名,大概是這樣的:作為一個腦熱的聽歌愛好者,于是他越陷越深,越刷…

java調用oracle存儲過程_做一點,記一點 ~ Java調用Oracle存儲過程

一、需求傳入一個參數,返回一條或多條記錄(列表)。二、實現步驟1. 編寫Oracle存儲過程。-- 聲明包和包體的語句應該分兩次執行,即使聲明在前定義在后,如果一起執行依然會編譯出錯--調用能夠返回多條記錄的存儲過程需要定義在包內--聲明包及包…

java 從控制臺讀取_轉載 java從控制臺讀取輸入的方法

import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Scanner; public class MainClass { public static void method1() { //使用Scanner Scanner scannernew Sca…

trace java_使用java動態字節碼技術簡單實現arthas的trace功能。

參考資料用過[Arthas]的都知道,Arthas是alibaba開源的一個非常強大的Java診斷工具。不管是線上還是線下,我們都可以用Arthas分析程序的線程狀態、查看jvm的實時運行狀態、打印方法的出入參和返回類型、收集方法中每個代碼塊耗時,甚至可以監控…

順時針小球圓周運動Java編程_如何使用CSS實現圓周運動小球的實例

我們時常在頁面中見到一些動畫效果,這些動畫效果,很多可以僅通過CSS來實現。在這里我們用到了CSS3的animation屬性。animation 屬性是一個簡寫屬性,用于設置六個動畫屬性:animation-name 規定需要綁定到選擇器的 keyframe 名稱。a…

java swing 外觀框架_【GUI】一、Swing外觀框架BeautyEye使用

一、Swing外觀框架BeautyEye使用1.1 導包1.2 使用BeautyEye L&Fpublic static void main(String[] args) {EventQueue.invokeLater(new Runnable() {public void run() {// 國人牛逼主題,值得學習// 初始化字體InitGlobalFont(new Font("微軟雅黑", F…

static詳解java_java中static作用詳解

static表示“全局”或者“靜態”的意思,用來修飾成員變量和成員方法,也可以形成靜態static代碼塊,但是Java語言中沒有全局變量的概念。被static修飾的成員變量和成員方法獨立于該類的任何對象。也就是說,它不依賴類特定的實例&…

java基礎案例教程前4章知識點_java學習記錄4 Java基礎知識點

java學習記錄4 Java基礎知識點1. 注釋單行注釋使用“//”開頭,后面是注釋的內容一般在要注釋的語句的上面加注釋多行注釋以“/*”開頭,以“*/”結尾可以做行內注釋不可嵌套使用文檔注釋以“/**”開頭,以“*/”結尾用來給類和方法做注釋&#…

打印狗的健康值Java_嵌入式狗的JAVA之路 HTML 補課

學了JAVA WEB應用,補充一下HTML的標簽,常用的,不然頁面都畫不出來了~~test 標題,h1h2h3 3個字號test 段落link 鏈接 使用 Target 屬性,你可以定義被鏈接的文檔在何處顯示。下面的這行會在新窗口打開文檔:Vi…

mysql 表2符合表1_MYSQL-表1和表2中所有可能性的所有行

表用戶id, name1, Jay Bob2, An Other表格頁id, name, html1, Welcome, Welcome to this page2, Goodbye, Thanks for visiting表user_pages **存儲頁面的用戶特定版本**user_id, page_id, html1, 1, User id 1 Welcome page我基本上需要一個查詢,該查詢將為我返回以下數據集-即…

java引擎組件_Java 腳本引擎入門

Java Script EngineJava 腳本引擎可以將腳本嵌入Java代碼中,可以自定義和擴展Java應用程序,自JDK1.6被引入,基于Rhino引擎,JDK1.8后使用Nashorn引擎,支持ECMAScript 5,但后期還可能會換。腳本引擎包位于jav…

python 角度傳感器模擬_python樹莓派紅外反射傳感器

本文實例為大家分享了python樹莓派紅外反射傳感器的程序,供大家參考,具體內容如下1、工具rpi3,微雪ARPI600,Infrared Reflective Sensor2、基本原理Infrared Reflective Sensor 輸出數字和模擬信號模擬信號通過ARPI600上的AD轉換芯…

JAVA awt eventqueue_線程“AWT-EventQueue-1”中的異常java.lang.NullPointerException

嗨,我收到錯誤Exception in thread "AWT-EventQueue-1" java.lang.NullPointerExceptionat P6.itemStateChanged(P6.java:215)at javax.swing.AbstractButton.fireItemStateChanged(AbstractButton.java:2023)at javax.swing.AbstractButton$Handler.item…

java構造方法賦值內存圖_java 面向對象(九):類的結構:構造器(一)簡介;屬性賦值順序;JavaBean的概念...

1.構造器(或構造方法):Constructor構造器的作用:* 1.創建對象* 2.初始化對象的信息2.使用說明:* 1.如果沒顯式的定義類的構造器的話,則系統默認提供一個空參的構造器* 2.定義構造器的格式:權限修飾符 類名(形參列表){}…

java 集合modcount_源碼|jdk源碼之LinkedList與modCount字段

鏈表是對上一篇博文所說的順序表的一種實現。與ArrayList思路截然不同,鏈表的實現思路是:不同元素實際上是存儲在離散的內存空間中的。每一個元素都有一個指針指向下一個元素,這樣整個離散的空間就被“串”成了一個有順序的表。從鏈表的概念來…

idea 新建ssm java ee_IDEA搭建SSM項目實現增刪改查

首先打開IDEA,File—>New—>Project創建項目選擇左側導航欄里的Maven,勾上勾,選擇webapp按如下圖進行填寫創建完成后進入項目,右下角彈出的提示點擊右邊的Enable Auto-Import,自動配置連接數據庫,我用…