亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Java靜態(tài)方法和實(shí)例方法區(qū)別詳解

 更新時(shí)間:2016年12月22日 11:33:55   作者:Java開發(fā)-擱淺  
這篇文章主要為大家詳細(xì)介紹了Java靜態(tài)方法和實(shí)例方法的區(qū)別,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

靜態(tài)方法和實(shí)例方法的區(qū)別主要體現(xiàn)在兩個(gè)方面: 

在外部調(diào)用靜態(tài)方法時(shí),可以使用"類名.方法名"的方式,也可以使用"對(duì)象名.方法名"的方式。而實(shí)例方法只有后面這種方式。也就是說(shuō),調(diào)用靜態(tài)方法可以無(wú)需創(chuàng)建對(duì)象。 

靜態(tài)方法在訪問(wèn)本類的成員時(shí),只允許訪問(wèn)靜態(tài)成員(即靜態(tài)成員變量和靜態(tài)方法),而不允許訪問(wèn)實(shí)例成員變量和實(shí)例方法;實(shí)例方法則無(wú)此限制。

下面幾個(gè)例子展示了這一區(qū)別。

1、調(diào)用靜態(tài)方法示例 

//-----------hasStaticMethod.java-----------------
public class hasStaticMethod{
//定義一個(gè)靜態(tài)方法
public static void callMe(){
  System.out.println("This is a static method.");
}
}

下面這個(gè)程序使用兩種形式來(lái)調(diào)用靜態(tài)方法。

//-----------invokeStaticMethod.java-----------------
public class invokeStaticMethod{
  public static void main(String args[]){
  hasStaticMethod.callMe(); //不創(chuàng)建對(duì)象,直接調(diào)用靜態(tài)方法  
  hasStaticMethod oa = new hasStaticMethod();  //創(chuàng)建一個(gè)對(duì)象
  oa.callMe();   //利用對(duì)象來(lái)調(diào)用靜態(tài)方法
}
} 

程序兩次調(diào)用靜態(tài)方法,都是允許的,程序的輸出如下:
This is a static method.This is a static method.  

允許不創(chuàng)建對(duì)象而調(diào)用靜態(tài)方法,是Java為了減少程序員調(diào)用某些常用方法時(shí)的麻煩,而允許程序員按照傳統(tǒng)的C語(yǔ)言中使用函數(shù)的方式來(lái)使用方法。典型的例子是前面某些程序中使用"Math.ramdon()"來(lái)獲取隨機(jī)數(shù)。
還有一個(gè)很典型的代表就是數(shù)組的處理工具Arrays

2、靜態(tài)方法訪問(wèn)成員變量示例

//-----------accessMember.java-----------------
class accessMember{
private static int sa; //定義一個(gè)靜態(tài)成員變量
private int ia; //定義一個(gè)實(shí)例成員變量
//下面定義一個(gè)靜態(tài)方法
static void statMethod(){
  int i = 0;  //正確,可以有自己的局部變量sa = 10;  
  //正確,靜態(tài)方法可以使用靜態(tài)變量
  otherStat(); 
  //正確,可以調(diào)用靜態(tài)方法
  ia = 20;  //錯(cuò)誤,不能使用實(shí)例變量
  insMethod(); //錯(cuò)誤,不能調(diào)用實(shí)例方法
}
static void otherStat(){} 
//下面定義一個(gè)實(shí)例方法 
void insMethod(){
  int i = 0;  //正確,可以有自己的局部變量
  sa = 15;  //正確,可以使用靜態(tài)變量
  ia = 30;  //正確,可以使用實(shí)例變量
  statMethod();  //正確,可以調(diào)用靜態(tài)方法
}
} 


本例其實(shí)可以概括成一句話:靜態(tài)方法只能訪問(wèn)靜態(tài)成員,實(shí)例方法可以訪問(wèn)靜態(tài)和實(shí)例成員。之所以不允許靜態(tài)方法訪問(wèn)實(shí)例成員變量,是因?yàn)閷?shí)例成員變量是屬于某個(gè)對(duì)象的,而靜態(tài)方法在執(zhí)行時(shí),并不一定存在對(duì)象。同樣,因?yàn)閷?shí)例方法可以訪問(wèn)實(shí)例成員變量,如果允許靜態(tài)方法調(diào)用實(shí)例方法,將間接地允許它使用實(shí)例成員變量,所以它也不能調(diào)用實(shí)例方法?;谕瑯拥牡览?,靜態(tài)方法中也不能使用關(guān)鍵字this。 

main()方法是一個(gè)典型的靜態(tài)方法,它同樣遵循一般靜態(tài)方法的規(guī)則,所以它可以由系統(tǒng)在創(chuàng)建對(duì)象之前就調(diào)用。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • java poi設(shè)置生成的word的圖片為上下型環(huán)繞以及其位置的實(shí)現(xiàn)

    java poi設(shè)置生成的word的圖片為上下型環(huán)繞以及其位置的實(shí)現(xiàn)

    這篇文章主要介紹了java poi設(shè)置生成的word的圖片為上下型環(huán)繞以及其位置的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • 淺談Spring AOP中args()和argNames的含義

    淺談Spring AOP中args()和argNames的含義

    這篇文章主要介紹了Spring AOP中args()和argNames的含義,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • 從零到掌握Spring Boot Validation 接口校驗(yàn)的詳細(xì)過(guò)程

    從零到掌握Spring Boot Validation 接口校驗(yàn)的詳細(xì)過(guò)程

    本文詳細(xì)介紹了SpringBoot的Validation接口校驗(yàn)機(jī)制,包括其核心功能、常用注解、自定義校驗(yàn)、以及實(shí)際應(yīng)用場(chǎng)景,通過(guò)注解定義數(shù)據(jù)校驗(yàn)規(guī)則,感興趣的朋友跟隨小編一起看看吧
    2025-02-02
  • Java服務(wù)端性能優(yōu)化之JVM垃圾回收策略詳解

    Java服務(wù)端性能優(yōu)化之JVM垃圾回收策略詳解

    JVM垃圾回收策略涵蓋了基本原理、常見策略(如SerialGC、ParallelGC、CMS、G1GC)以及優(yōu)化建議,選擇合適的策略和調(diào)整參數(shù),如堆大小和GC日志,可以提高應(yīng)用性能和響應(yīng)速度,持續(xù)監(jiān)控和分析是關(guān)鍵步驟
    2025-03-03
  • Java代碼實(shí)現(xiàn)對(duì)properties文件有序的讀寫的示例

    Java代碼實(shí)現(xiàn)對(duì)properties文件有序的讀寫的示例

    本篇文章主要介紹了Java代碼實(shí)現(xiàn)對(duì)properties文件有序的讀寫的示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-11-11
  • rabbitmq延遲隊(duì)列的使用方式

    rabbitmq延遲隊(duì)列的使用方式

    這篇文章主要介紹了rabbitmq延遲隊(duì)列的使用方式,使用rabbitmq的延時(shí)隊(duì)列插件,實(shí)現(xiàn)同一個(gè)隊(duì)列中有多個(gè)不同超時(shí)時(shí)間的消息,并按時(shí)間超時(shí)順序出隊(duì),本文給大家介紹的非常詳細(xì),需要的朋友參考下吧
    2024-04-04
  • springboot整合cxf發(fā)布webservice以及調(diào)用的方法

    springboot整合cxf發(fā)布webservice以及調(diào)用的方法

    這篇文章主要介紹了springboot整合cxf發(fā)布webservice以及調(diào)用的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-08-08
  • Java中的MessageFormat.format用法實(shí)例

    Java中的MessageFormat.format用法實(shí)例

    這篇文章主要介紹了Java中的MessageFormat.format用法實(shí)例,本文先是講解了MessageFormat的語(yǔ)法,然后給出了多個(gè)操作實(shí)例,需要的朋友可以參考下
    2015-06-06
  • Java 模擬銀行自助終端系統(tǒng)

    Java 模擬銀行自助終端系統(tǒng)

    本系統(tǒng)模擬銀行用戶使用ATM機(jī)開戶、查詢、存款、取款功能,要求使用java語(yǔ)言編程實(shí)現(xiàn)。這篇文章主要介紹了Java 模擬銀行自助終端系統(tǒng)的相關(guān)資料,需要的朋友可以參考下
    2016-10-10
  • java啟動(dòng)時(shí)自定義配置文件路徑,自定義log4j2.xml位置方式

    java啟動(dòng)時(shí)自定義配置文件路徑,自定義log4j2.xml位置方式

    這篇文章主要介紹了java啟動(dòng)時(shí)自定義配置文件路徑,自定義log4j2.xml位置方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-08-08

最新評(píng)論