首先方法不能訪問另外方法中的變量的。
成都創(chuàng)新互聯(lián)專注于長(zhǎng)嶺網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠(chéng)為您提供長(zhǎng)嶺營(yíng)銷型網(wǎng)站建設(shè),長(zhǎng)嶺網(wǎng)站制作、長(zhǎng)嶺網(wǎng)頁(yè)設(shè)計(jì)、長(zhǎng)嶺網(wǎng)站官網(wǎng)定制、重慶小程序開發(fā)公司服務(wù),打造長(zhǎng)嶺網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供長(zhǎng)嶺網(wǎng)站排名全網(wǎng)營(yíng)銷落地服務(wù)。
public class A{
private int temp;
public void t1(){
int i = 100;
temp = i;//把想要的值,備份一份
}
public void t2(){
//想拿到t1方法中的i的值。你可以把t1方法的返回值設(shè)置為i類型的
//如public int t1(){ .......... ; return i} 然后調(diào)用t1取返回值
//或者
//定義一個(gè)私有成員,共享變量的值temp,用temp的值即可
}
}
你放置 p1.jisuan(); 的地方,是類初始化的區(qū)域,請(qǐng)把放到一個(gè)方法當(dāng)中,或者把Person p1=new Person();
p1.jisuan();
放入static 代碼化
類包括成員變量和方法兩部分。成員變量表示類的屬性,一數(shù)據(jù)域的形式表達(dá),方法是數(shù)據(jù)的操作的定義。在JAVA中,方法只能作為類的成員,也稱為成員方法。方法操作類所定義的數(shù)據(jù),以及提供對(duì)數(shù)據(jù)的訪問的代碼。
方法聲明包括方法名、返回類型和外部參數(shù)。其中參數(shù)的類型可以是簡(jiǎn)單數(shù)據(jù)類型,也可以是復(fù)合數(shù)據(jù)類型(又稱引用數(shù)據(jù)類型)。
對(duì)于簡(jiǎn)單數(shù)據(jù)類型來(lái)說,java實(shí)現(xiàn)的是值傳遞,方法接收參數(shù)的值,但不能改變這些參數(shù)的值。如果要改變參數(shù)的值,則用引用數(shù)據(jù)類型,因?yàn)橐脭?shù)據(jù)類型傳遞給方法的是數(shù)據(jù)在內(nèi)存中的地址,方法中對(duì)數(shù)據(jù)的操作可以改變數(shù)據(jù)的值。
編輯并運(yùn)行一個(gè)Java程序
使用文字編輯軟件(例如記事本、寫字板、UltraEdit等)或集成開發(fā)環(huán)境(Eclipse、MyEclipse等)在Java源文件中定義不同的類,通過調(diào)用類(這些類實(shí)現(xiàn)了Java API)中的方法來(lái)訪問資源系統(tǒng),把源文件編譯生成一種二進(jìn)制中間碼;
存儲(chǔ)在class文件中,然后再通過運(yùn)行與操作系統(tǒng)平臺(tái)環(huán)境相對(duì)應(yīng)的Java虛擬機(jī)來(lái)運(yùn)行class文件,執(zhí)行編譯產(chǎn)生的字節(jié)碼,調(diào)用class文件中實(shí)現(xiàn)的方法來(lái)滿足程序的Java API調(diào)用。
以上內(nèi)容參考:百度百科-Java
可以用JAVA中的Calendar。
⑴Calendar是java.util.* 中的一個(gè)類,所以在使用前,我們要導(dǎo)入包java.util.*;
//產(chǎn)生一個(gè)日歷類的對(duì)象,我們不能使用new Calendar()來(lái)構(gòu)造實(shí)例,因?yàn)?/Calendar的構(gòu)造函數(shù)都是protected,也就是說,構(gòu)造函數(shù)是保護(hù)成員。
⑵關(guān)于Calendar的Filed
在Calendar中定義了日歷的各個(gè)成員,比如:年,月,日,包括不同的記錄方法,比如:同一天(2005-12-14)來(lái)說,在記錄的時(shí)候,我們可以說是一周中的周三,是12月的第14天,是2005年的第****(你可以自己算一下)天。這就是不同的記錄方法,所以在Calendar中就有了不同的定義:
public final static int ERA = 0;
public final static int YEAR = 1;
public final static int MONTH = 2;
public final static int WEEK_OF_YEAR = 3;
public final static int WEEK_OF_MONTH = 4;
public final static int DATE = 5;
public final static int DAY_OF_MONTH = 5;
public final static int DAY_OF_YEAR = 6;
public final static int DAY_OF_WEEK = 7;
public final static int DAY_OF_WEEK_IN_MONTH = 8;
public final static int AM_PM = 9;
public final static int HOUR = 10;
public final static int HOUR_OF_DAY = 11;
public final static int MINUTE = 12;
public final static int SECOND = 13;
這些定義是不同記錄方法的標(biāo)識(shí),在此我沒有列舉完全,感興趣的話你可以看一下Calendar的源代碼。
這些就是Calendar的Field,根據(jù)你的不同需求就可以去處不同的Field,不同的記錄方法也是不同的的Filed,這樣應(yīng)該是好理解一些。
有了這些,我們就可以取得你想要的任何需要的東西了,如果你想知道今天是一年中的哪一天,就可以用:
int day = calendar.get(Calendar.DAY_OF_YEAR);
參數(shù)就是你想取得的Field,所有的這些都在Calendar中定義好了。
結(jié)果會(huì)告訴我們2005-12-14是2005年的第348天。
然后你想知道30天后是幾號(hào)呢?
calendar.set(Calendar.DAY_OF_YEAR, day + 30);
在這,你不需要去考慮12-14號(hào)加上30天是一月,是不是會(huì)出錯(cuò),不會(huì)的,Calendar自己知道那一天是幾月幾號(hào)。
所以你再取得其日期的時(shí)候就可以知道其日期了。當(dāng)然你也可以直接通過Calendar來(lái)取得。
其他的我就不一一說了,是一樣的道理。這樣一來(lái),我們就可以使用Calendar實(shí)現(xiàn)日期的隨意加減了。
因?yàn)槠胀ǔ蓡T變量相比構(gòu)造方法不管順序優(yōu)先加載
java 初始化順序:
靜態(tài)成員變量靜態(tài)初始化塊普通成員變量普通的初始化塊構(gòu)造方法(自動(dòng)初始化時(shí)機(jī)在調(diào)用任何方法之前(構(gòu)造方法,成員方法))
在創(chuàng)建新的對(duì)象時(shí),也就是new一個(gè)對(duì)象時(shí),會(huì)開始初始化這個(gè)對(duì)象,在初始化這個(gè)對(duì)象時(shí),會(huì)找到對(duì)應(yīng)的類,如果類中有static的靜態(tài)方法,靜態(tài)成員變量,普通變量。。。等,會(huì)按照這個(gè)順序執(zhí)行(即按照這個(gè)順序分配內(nèi)容空間,不管他們的位置在哪里,如果是同類型,則按照上下順序執(zhí)行。)