日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java的知识点10——static关键字、静态初始化块、 参数传值机制、包、导入类import、 静态导入

發布時間:2025/4/16 java 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java的知识点10——static关键字、静态初始化块、 参数传值机制、包、导入类import、 静态导入 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

static 關鍵字

在類中,用static聲明的成員變量靜態成員變量,也稱為類變量類變量的生命周期和類相同,在整個應用程序執行期間都有效。它有如下特點:

  1. 為該類的公用變量,屬于類,被該類的所有實例共享,在類被載入時被顯式初始化。

  2. 對于該類的所有對象來說,static成員變量只有一份。被該類的所有對象共享!!

  3. 一般用“類名.類屬性/方法”來調用。(也可以通過對象引用或類名(不需要實例化)訪問靜態成員。)

  4. 在static方法中不可直接訪問非static的成員。

核心要點:

????????????static修飾的成員變量和方法,從屬于類。

????????????普通變量和方法從屬于對象的。

static關鍵字的使用

public class User2 {int id;String name;String pwd;static String company="北京尚學堂";public User2(int id,String name) {this.id=id;this.name=name;}public void login() {printCompany();System.out.println(company);System.out.println("登錄:"+name);}public static void printCompany() {//login(); //靜態成員調用非靜態成員,編譯將會報錯System.out.println(company);}public static void main(String[] args) {User2 u=new User2(101,"止小兮");u.login();User2.printCompany();User2.company="蒼小凌有限公司";User2.printCompany();u.login();} }


靜態初始化塊

構造方法用于對象的初始化!靜態初始化塊,用于類的初始化操作!在靜態初始化塊中不能直接訪問非static成員

靜態初始化塊執行順序:

? ? ? ? ? ? ?1. 上溯到Object類,先執行Object的靜態初始化塊,再向下執行子類的靜態初始化塊,直到我們的類的靜態初始化塊為止。

  ? ? ? 2. 構造方法執行順序和上面順序一樣!!

static初始化塊

public class User3 {int id;String name;String pwd;static String company;static {System.out.println("執行類的初始化工作");company="蒼小凌有限公司";printCompany();}public static void printCompany() {System.out.println(company);}public static void main(String[] args) {User3 u3=new User3();} }


??參數傳值機制

? ? ? ?Java中,方法中所有參數都是“值傳遞”,也就是“傳遞的是值的副本”。 也就是說,我們得到的是“原參數的復印件,而不是原件”。因此,復印件改變不會影響原件。

基本數據類型參數的傳值

  傳遞的是值的副本。 副本改變不會影響原件。

引用類型參數的傳值

  傳遞的是值的副本。但是引用類型指的是“對象的地址”。因此,副本和原參數都指向了同一個“地址”改變“副本指向地址對象的值,也意味著原參數指向對象的值也發生了改變”。

多個變量指向同一個對象

public class User4 {int id;String name;String pwd;public User4(int id,String name) {this.id=id;this.name=name;}public void testParameterTransfer01(User4 u) {u.name="止小兮";}public void testParameterTransfer02(User4 u) {u=new User4(200,"蒼小凌");}public static void main(String[] args) {User4 u1=new User4(100,"瑾修");u1.testParameterTransfer01(u1); //傳的是u1的地址System.out.println(u1.name); //結果為:止小兮u1.testParameterTransfer02(u1); System.out.println(u1.name); //結果為:止小兮} }


?

包機制是Java中管理類的重要手段。 開發中,我們會遇到大量同名的類,通過包我們很容易對解決類重名的問題,也可以實現對類的有效管理。 包對于類,相當于文件夾對于文件的作用

package實現對類的管理,package的使用有兩個要點:

  1. 通常是類的第一句非注釋性語句

  2. 包名:域名倒著寫即可,再加上模塊名,便于內部管理類。

注:1. 寫項目時都要加包,不要使用默認包

? ? ? 2. com.gao和com.gao.car,這兩個包沒有包含關系,是兩個完全獨立的包。只是邏輯上看起來后者是前者的一部分。

JDK中的主要包?


導入類import

如果我們要使用其他包的類,需要使用import導入,從而可以在本類中直接通過類名來調用,否則就需要書寫類的完整包名和類名。import后,便于編寫代碼,提高可維護性。

注:1. Java會默認導入java.lang包下所有的類,因此這些類我們可以直接使用。

  2. 如果導入兩個同名的類,只能用包名+類名來顯示調用相關類

導入同名類的處理

import java.sql.Date; import java.util.*;//導入該包下所有的類。會降低編譯速度,但不會降低運行速度 public class Test6 {public static void main(String [] args) {Date now;//這里指的是Java.sql.Datejava.util.Date now2= new java.util.Date();System.out.println(now2); //因為 java.util.Date 與 java.sql.Date 類同名,需要完整的路徑Scanner input =new Scanner(System.in); //java.util包的非同名類不需要完整的路徑} }


?靜態導入

靜態導入(static import)是在JDK1.5新增加的功能,其作用是用于導入指定類的靜態屬性,這樣我們可以直接使用靜態屬性

靜態導入的使用

package cn.sxt; //以下兩種靜態導入的方式二選一即可 import static java.lang.Math.*; import static java.lang.Math.PI; public class Test2 {public static void main(String [] args) {System.out.println(PI);System.out.println(random());} }

總結

以上是生活随笔為你收集整理的Java的知识点10——static关键字、静态初始化块、 参数传值机制、包、导入类import、 静态导入的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。