你說的java源代碼是指編譯成的class文件前的java文件。
創(chuàng)新互聯(lián)建站長期為上1000+客戶提供的網(wǎng)站建設(shè)服務(wù),團隊從業(yè)經(jīng)驗10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為重慶企業(yè)提供專業(yè)的網(wǎng)站建設(shè)、成都網(wǎng)站建設(shè),重慶網(wǎng)站改版等技術(shù)服務(wù)。擁有十多年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。
當我們運行.java文件時,它會被系統(tǒng)編譯成.class文件,例如Test.java編譯之后就是Test.class,
源文件就是指Test.java文件,
一般部署項目時,有.class文件就可以發(fā)布運行了,但是如果想修改這個系統(tǒng),.class是不能修改的,要有.java文件才能修改
也可以上網(wǎng)去下反編譯軟件,就是能把.class文件大部分還原成.java文件的工具,但不是100%還原,而且如果不是正版的,小心有毒啊,什么的。
Java程序包括2種
1) Java 應(yīng)用程序,必須具有一個main方法入口
public class Test{
public static void main(String args[]){
}
}
2) Java 小應(yīng)用程序
Applet類中的四種基本方法用來控制其運行狀態(tài):init()、start()、stop()、destroy() ,至少具有init start方法。。
很多種方式都可以實現(xiàn).下面寫了個一個簡單的參考代碼. 有三種方案.
import?java.util.ArrayList;
import?java.util.Arrays;
public?class?Test?{
public?static?void?main(String[]?args)?{
//方案一:?比較傳統(tǒng)的初始化和添加元素?[推薦]
ArrayListInteger?list1?=?new?ArrayListInteger();
list1.add(6);//?添加元素
list1.add(2);
list1.add(8);
System.out.println(list1);
//方案二:?在構(gòu)造時,傳入?yún)?shù),初始化并添加元素
ArrayListInteger?list2?=?new?ArrayListInteger(Arrays.asList(6,2,8));//?初始化并添加ary數(shù)組里的元素進去
System.out.println(list2);
//方案三:雙大括號初始化?,?添加元素?[不推薦,?效率低下,速度稍慢]
ArrayListInteger?list3?=?new?ArrayListInteger()?{
{
add(6);
add(2);
add(8);
}
};
System.out.println(list3);
}
}
你安裝JDK的目錄下,有個src.zip文件,這個就是JDK源代碼的java文件。
你可以解壓來查看,但,最好是關(guān)聯(lián)到IDE如?eclipse?中(不需解壓),然后?CTRL?+?點擊就可以查看到源代碼了。
如下圖:
/**
* Converts this string to a new character array.
*
* @return a newly allocated character array whose length is the length
* of this string and whose contents are initialized to contain
* the character sequence represented by this string.
*/
public char[] toCharArray() {
char result[] = new char[count];
getChars(0, count, result, 0);
return result;
}
/**
* Copies characters from this string into the destination character
* array.
* p
* The first character to be copied is at index codesrcBegin/code;
* the last character to be copied is at index codesrcEnd-1/code
* (thus the total number of characters to be copied is
* codesrcEnd-srcBegin/code). The characters are copied into the
* subarray of codedst/code starting at index codedstBegin/code
* and ending at index:
* pblockquotepre
* dstbegin + (srcEnd-srcBegin) - 1
* /pre/blockquote
*
* @param srcBegin index of the first character in the string
* to copy.
* @param srcEnd index after the last character in the string
* to copy.
* @param dst the destination array.
* @param dstBegin the start offset in the destination array.
* @exception IndexOutOfBoundsException If any of the following
* is true:
* ullicodesrcBegin/code is negative.
* licodesrcBegin/code is greater than codesrcEnd/code
* licodesrcEnd/code is greater than the length of this
* string
* licodedstBegin/code is negative
* licodedstBegin+(srcEnd-srcBegin)/code is larger than
* codedst.length/code/ul
*/
public void getChars(int srcBegin, int srcEnd, char dst[], int dstBegin) {
if (srcBegin 0) {
throw new StringIndexOutOfBoundsException(srcBegin);
}
if (srcEnd count) {
throw new StringIndexOutOfBoundsException(srcEnd);
}
if (srcBegin srcEnd) {
throw new StringIndexOutOfBoundsException(srcEnd - srcBegin);
}
System.arraycopy(value, offset + srcBegin, dst, dstBegin,
srcEnd - srcBegin);
}
源代碼默認是打不開的,可以使用反編譯工具,進行逆向解析才能看到源代碼。
eclipse這個開發(fā)工具,默認有反編譯的插件,在查看的類,按住ctrl點擊鼠標左鍵即可查看源代碼。