Java變量的初始化及靜態(tài)方法的實(shí)現(xiàn)
這篇文章主要介紹了Java變量的初始化及靜態(tài)方法的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
1.變量初始化
package treat; class InitializeBlockClass { public int field=100; { field=200; } public InitializeBlockClass(int value) { this.field=value; } public InitializeBlockClass() { } } public class treat { public static void main(String args[]) { InitializeBlockClass obj=new InitializeBlockClass(); System.out.println(obj.field); obj=new InitializeBlockClass(300); System.out.println(obj.field); } }
在main函數(shù)中第一次輸出是200,第二次是300,這是因?yàn)榈谝淮握{(diào)用的是默認(rèn)構(gòu)造函數(shù),而類(lèi)中的變量在之前已經(jīng)初始化,而構(gòu)造函數(shù)并不能改變變量的值所以變量值是初始化框里的200,第二次調(diào)用了帶參數(shù)的構(gòu)造函數(shù),構(gòu)造函數(shù)直接將值返回,就算構(gòu)造函數(shù)在前輸出的值也一樣都是300.
2.如何在靜態(tài)方法中調(diào)用非靜態(tài)方法和字段
package treat; public class treat { public int dg=0; void fun() { System.out.println("hello world!!"); } static void play(treat a)//通過(guò)形參傳遞對(duì)象實(shí)現(xiàn)非靜態(tài)方法的調(diào)用 { a.fun(); a.dg=8;//調(diào)用對(duì)象改變非靜態(tài)字段的值 System.out.println(a.dg); } public static void main(String args[]) { treat a=new treat(); treat.play(a); } }
在上面的程序中可以發(fā)現(xiàn)可以通過(guò)形參傳遞對(duì)象的方法來(lái)調(diào)用非靜態(tài)方法和字段。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
java類(lèi)加載機(jī)制、類(lèi)加載器、自定義類(lèi)加載器的案例
這篇文章主要介紹了java類(lèi)加載機(jī)制、類(lèi)加載器、自定義類(lèi)加載器的案例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-02-02Java多線(xiàn)程的調(diào)度_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
有多個(gè)線(xiàn)程,如何控制它們執(zhí)行的先后次序呢?下文給大家分享四種方法及java多線(xiàn)程調(diào)度的實(shí)例代碼,需要的朋友參考下吧2017-05-05java實(shí)現(xiàn)json字符串格式化處理的工具類(lèi)
這篇文章主要為大家詳細(xì)介紹了如何使用java實(shí)現(xiàn)json字符串格式化處理的工具類(lèi),文中的示例代碼簡(jiǎn)潔易懂,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-01-01