欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

深入了解Java包與訪問控制權(quán)限

 更新時間:2022年09月23日 15:51:46   作者:亮點  
這篇文章主要帶你掌握J(rèn)ava中包的定義及使用以及Java中的4種訪問權(quán)限,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下

1、包的概念及使用

(1)基本概念

package是在使用多個類或接口時,為了避免名稱重復(fù)而采用的一種措施,直接在程序中加入package關(guān)鍵字即可

格式如下:

package 包名稱.子包名稱;

范例:

package org.lxh.test;
class Demo{
    public String getInfo(){
        return "Hello World !!!";
    }
}
public class Test{
    public static void main(String[] args) {
        System.out.println(new Demo().getInfo());
    }
}

此時編譯時需要加上相應(yīng)參數(shù):javac -d.Test.java

-d :表示生成目錄,生成的目錄以 package 的定義為準(zhǔn) . : 表示在當(dāng)前所在文件夾中生成

執(zhí)行完以上命令后,會自動生成相應(yīng)的文件夾(包),之后再執(zhí)行類時就必須輸入完整的“包.類名稱”

(2)import 語句

如果幾個類存放在不同的包中,在使用類時就必須通過 import 語句導(dǎo)入

import 的語法格式:

import 包名稱.子包名稱.類名稱;    //手工導(dǎo)入所需要的類
import 包名稱.子包名稱.*;//由JVM自動加載所需要的類

范例:定義 org.lxh.test 目錄下的 Demo1.java

package  org.lxh.test;

public class Demo1{
  public String getInfo(){
    return "Hello World!";
  }
}

范例:在另外一個類中引用Demo類

import org.lxh.test.Demo1;//引用 Demo1 類

public class Test{
    public static void main(String[] args) {
        System.out.println(new Demo1().getInfo());
    }
}

如果在一個類中導(dǎo)入一個包中多個類時,一個個地導(dǎo)入會比較麻煩,可以使用導(dǎo)入“*” 的方式由 JVM 根據(jù)需要自己加載的類。==但是當(dāng)一個程序中同時導(dǎo)入了兩個包的同名類,使用時就必須明確地寫出完整的“包.類名稱”。==

范例:

import org.lxh.demo.a.*;//包中存在Demo類
import org.lxh.demo.c.*;//包中存在Demo類
public class Test{
	public static void main(String[] args){
		org.lxh.demo.a.Demo d = new org.lxh.demo.a.Demo();
		System.out.println(d.getInfo());
	}
}

(3)系統(tǒng)常見包

在JDK中為了方便用戶開發(fā)程序,提供了大量的系統(tǒng)功能包,如下圖所示:

java.util包在開發(fā)中使用較多,因為其支持大量的工具類操作,像本書中的常用類庫、 Java 類集都是圍繞此包展開講解的。

java.lang.reflect這個包一般在面試時有可能會問到,此包屬于比較高級的開發(fā)包。

(4)Java 新特性 – 靜態(tài)導(dǎo)入

如果一個類中的方法全部是使用static聲明的靜態(tài)方法,則在導(dǎo)入時就可以直接使用 import static 的方式導(dǎo)入:

import static 包.類.*

范例:定義一個類,全部由靜態(tài)方法組成

package org.lxh.test;

public class Demo1{
    public static  int add(int i,int j){
        return i+j;
    }
    public static int sub(int i,int j){
        return i-j;
    }
    public static int mul(int i,int j){
        return i*j;
    }
}

使用靜態(tài)導(dǎo)入:

import static org.lxh.test.Demo1.*;//靜態(tài)導(dǎo)入

public class Test{
    public static void main(String[] args) {
        System.out.println("3+3 = " + add(3,3));
        System.out.println("3-3 = " + sub(3,3));
    }
}

由于程序中使用了靜態(tài)導(dǎo)入,所以Demo1 類中的所有靜態(tài)方法可以直接在 Test 類中使用,而 不需要使用 “類.靜態(tài)方法()” 的形式使用。

2、jar命令的使用

當(dāng)開發(fā)者為客戶開發(fā)出了一套 Java 類之后,肯定要把這些類交給用戶使用,但是如果所有的類直接通過 *.class 的格式給用戶,會比較麻煩,所以一般情況下會將這些 *.class 文件壓縮車一個文件交付給客戶使用,那么這樣的文件就稱為 jar 文件(Java Archive File)。

如果要想生成 jar 文件,直接使用 JDK 中 bin 目錄里的 jar.exe 就可以將所有的類文件進(jìn)行壓縮,此命令是隨 JDK 一起安裝的,直接在命令行中輸入 jar,即可看到此命令的提示界面:

當(dāng)用戶得到一個 jar 文件后,可以通過設(shè)置 classpath 的方式在系統(tǒng)中注冊號此 jar 文件,以供程序使用。

jar 命令主要使用的參數(shù)如下:

C:創(chuàng)建新的文檔

V:生成詳細(xì)的輸出信息

F:指定存檔的文件名

范例:定義一個類:

package org.lxh.test.demo;

public class Test{
    public class Test{
        public String getInfo(){
            return "Hello";
        }
    }
}

進(jìn)行編譯

javac -d.Test.java

編譯成功

將生成的 a 文件夾打包,命名為 my.jar

這個文件可以直接使用解壓軟件打開此文件,如果想要使用此文件,需要設(shè)置 classpath:set classpath = .;G:\Java\my.jar

以上設(shè)置了兩個 classpath 目錄,一個是從當(dāng)前所在的文件夾中查找,另外一個就是剛壓縮好的*.jar 文件

3、訪問控制權(quán)限

在 Java 中一共存在 4 種訪問控制權(quán)限,即 private,default,protected 和 public

private訪問權(quán)限

private屬于私有訪問權(quán)限,前面已經(jīng)介紹過private訪問權(quán)限,可以用在屬性的定義、方法的聲明上,一旦使用了private關(guān)鍵字聲明,則只能在本類中進(jìn)行訪問。

default(默認(rèn))訪問權(quán)限

如果一個類中的屬性或方法沒有使用任何的訪問權(quán)限聲明,則就是默認(rèn)的訪問權(quán)限,默認(rèn)的訪問權(quán)限可以被本包中的其他類所訪問,但是不能被其他包的類所訪問。

protected訪問權(quán)限

protected屬于受保護的訪問權(quán)限。一個類中的成員如果使用了protected訪問權(quán)限,則只能被本包及不同包的子類訪問。

范例:設(shè)置 protected 的訪問權(quán)限

package org.lxh.test;

public class HelloDemo{
    protected String name = "Java";//只能被本包及不同包的子類訪問
}

訪問受保護的屬性:

import org.lxh.test.HelloDemo;

class SubHelloDemo extends HelloDemo{
    public void print(){
        System.out.println("訪問受保護屬性:" + super.name);//可以訪問 protected 權(quán)限
    }
}

public class root {
    public static void main(String[] args) {
        SubHelloDemo sub = new SubHelloDemo();//實例化子類對象
        sub.print();
    }
}

運行結(jié)果;

訪問受保護屬性:Java

public訪問權(quán)限

public屬于公共訪問權(quán)限。如果一個類中的成員使用了public訪問權(quán)限,就可以在所有類中被訪問,不管是否在同一個包中。

總結(jié)訪問控制權(quán)限:

4、Java命名規(guī)范

聲明類、方法、屬性等都是有一定的規(guī)范的,此規(guī)范如下。

  • 類:所有單詞的首字母大寫,如:JavaTest
  • 方法:第一個單詞的首字母小寫,之后每個單詞的首字母大寫,如 getInfo()
  • 屬性:第一個單詞的首字母小寫,之后每個單詞的首字母大寫,如 studentName
  • 包:所有單詞的字母小寫,如 org.lxh.demo
  • 常量:所有單詞的字母大寫,如 FLAG

到此這篇關(guān)于深入了解Java包與訪問控制權(quán)限的文章就介紹到這了,更多相關(guān)Java包 訪問控制權(quán)限內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java抽象定義以及舉例代碼

    Java抽象定義以及舉例代碼

    這篇文章主要給大家介紹了關(guān)于Java抽象定義以及舉例的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • idea 找不到符號或找不到包的幾種解決方法

    idea 找不到符號或找不到包的幾種解決方法

    這篇文章主要介紹了idea 找不到符號或找不到包的幾種解決方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • springboot添加多數(shù)據(jù)源的方法實例教程

    springboot添加多數(shù)據(jù)源的方法實例教程

    這篇文章主要給大家介紹了關(guān)于springboot添加多數(shù)據(jù)源方法的相關(guān)資料,在實際開發(fā)中經(jīng)??赡苡龅皆谝粋€應(yīng)用中可能要訪問多個數(shù)據(jù)庫多的情況,需要的朋友可以參考下
    2023-09-09
  • 詳解五種方式讓你在java中讀取properties文件內(nèi)容不再是難題

    詳解五種方式讓你在java中讀取properties文件內(nèi)容不再是難題

    這篇文章主要介紹了詳解五種方式讓你在java中讀取properties文件內(nèi)容不再是難題 ,非常具有實用價值,需要的朋友可以參考下。
    2016-12-12
  • Java基于rest assured實現(xiàn)接口測試過程解析

    Java基于rest assured實現(xiàn)接口測試過程解析

    這篇文章主要介紹了Java基于rest assured實現(xiàn)接口測試過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-03-03
  • 2021年最新Redis面試題匯總(4)

    2021年最新Redis面試題匯總(4)

    在程序員面試過程中redis相關(guān)的知識是常被問到的話題。這篇文章主要介紹了幾道Redis面試題,整理一下分享給大家,感興趣的小伙伴們可以參考一下
    2021-07-07
  • 深入理解Java中HashCode方法

    深入理解Java中HashCode方法

    這篇文章主要介紹了深入理解Java中HashCode方法,具有一定借鑒價值,需要的朋友可以參考下
    2018-01-01
  • SpringBoot實現(xiàn)調(diào)用自定義的應(yīng)用程序((最新推薦)

    SpringBoot實現(xiàn)調(diào)用自定義的應(yīng)用程序((最新推薦)

    這篇文章主要介紹了SpringBoot實現(xiàn)調(diào)用自定義的應(yīng)用程序的相關(guān)知識,本文給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧
    2024-06-06
  • Eclipse git推送上傳錯誤問題解決方案

    Eclipse git推送上傳錯誤問題解決方案

    這篇文章主要介紹了Eclipse git推送上傳錯誤問題解決方案,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-09-09
  • 解決Java原生壓縮組件不支持中文文件名亂碼的問題

    解決Java原生壓縮組件不支持中文文件名亂碼的問題

    本篇文章主要介紹了解決Java原生壓縮組件不支持中文文件名亂碼的問題,具有一定的參考價值,感興趣的小伙伴們可以參考一下。
    2017-03-03

最新評論