電子商務(wù)網(wǎng)站開發(fā)的步驟可以免費(fèi)發(fā)廣告的app
鶴壁市浩天電氣有限公司
2026/01/24 16:05:28
電子商務(wù)網(wǎng)站開發(fā)的步驟,可以免費(fèi)發(fā)廣告的app,公司的網(wǎng)站 優(yōu)幫云,網(wǎng)站建設(shè)項(xiàng)目來源前言學(xué)習(xí)一個(gè)類#xff0c;我們首先需要了解這個(gè)類的大致作用是什么#xff0c;就好像我們知道Random是為了生成隨機(jī)數(shù)的的一個(gè)類#xff0c;又或者Date類和日期相關(guān)。之后我們要去看他的成員以及構(gòu)造器#xff0c;了解我們可以如何根據(jù)自己的需求#xff0c;通過構(gòu)造器如…前言學(xué)習(xí)一個(gè)類我們首先需要了解這個(gè)類的大致作用是什么就好像我們知道Random是為了生成隨機(jī)數(shù)的的一個(gè)類又或者Date類和日期相關(guān)。之后我們要去看他的成員以及構(gòu)造器了解我們可以如何根據(jù)自己的需求通過構(gòu)造器如何去創(chuàng)建一個(gè)適合的對(duì)象。之后要了解它的方法方法名參數(shù)列表返回值類型確定要傳什么參需要用什么類型去接收返回值都是很有必要的。一、API1.1 API概述1APIApplication Programming Interface應(yīng)用程序編程接口。它是廠商或者第三方提供好的一系列類庫(kù)這些類庫(kù)能幫助你開發(fā)出你想要的項(xiàng)目。2Java API指的是JDK中提供的各種功能的Java類庫(kù)。類庫(kù)就是別人已經(jīng)寫好的類和方法可以直接使用。這些類庫(kù)已經(jīng)提供了完整的實(shí)現(xiàn)我們不需要關(guān)心它如何實(shí)現(xiàn)的只需要學(xué)會(huì)如何使用這些類即可。3JDK類庫(kù)API由sun開發(fā)的基礎(chǔ)類庫(kù)和后期甲骨文公司開發(fā)擴(kuò)展的。4第三方API由第三方人員開發(fā)提供的類庫(kù)在使用時(shí)需要導(dǎo)jar包。1.2 API文檔APi文檔可以幫助我們快速的學(xué)習(xí)掌握和了解對(duì)應(yīng)類結(jié)構(gòu)的一個(gè)文檔工具。具體關(guān)于API文檔的運(yùn)用我后面會(huì)專門出一期再詳細(xì)介紹。二、Object類2.1 Object類概述1Object是基類所有的類都會(huì)直接或間接地繼承Object類默認(rèn)繼承不需要顯式寫出。2Object存在于java.lang包中,不需要導(dǎo)包可以直接使用。2.2 構(gòu)造器Object類只有一個(gè)無參構(gòu)造器一般不直接使用Object創(chuàng)建對(duì)象。Object obj new Object();2.3 Object的一些方法Object obj new Object(); obj.hashCode(); // 返回obj的哈希值 obj.equals(obj); // 判斷對(duì)象是否相同相同返回true不同返回false obj.toString(); // 返回obj轉(zhuǎn)化成的對(duì)應(yīng)的字符串 //一旦該對(duì)象有toString方法則打印對(duì)象時(shí)默認(rèn)調(diào)用toString方法 //所以我們可以在子類中對(duì)toString方法進(jìn)行重寫來達(dá)到我們想要的輸出效果三、String類3.1 String類概述1在 Java 中String 是最常用的字符串類。所有用雙引號(hào)括起來的數(shù)據(jù)都會(huì)自動(dòng)創(chuàng)建為 String 對(duì)象無需使用 new 關(guān)鍵字語(yǔ)法支持直接使用雙引號(hào)創(chuàng)建。2String類是 java.lang包中的類使用的時(shí)候無需導(dǎo)包。3String類是不可變字符串一旦創(chuàng)建后其內(nèi)容無法修改。當(dāng)為String對(duì)象重新賦值時(shí)實(shí)際上是創(chuàng)建了一個(gè)新的字符串對(duì)象而非修改原有對(duì)象。原字符串將被垃圾回收機(jī)制回收。3.2 其在內(nèi)存中的體現(xiàn)首先我們需要了解??臻g堆空間之間一般存放的內(nèi)容當(dāng)我們new一個(gè)對(duì)象時(shí)對(duì)象名存儲(chǔ)著對(duì)象在堆空間的內(nèi)存地址它本身是在棧空間所以我們?cè)诹私釹tring類在內(nèi)存中的關(guān)系我們就要先了解一個(gè)東西常量池。我們有兩種方式去定義一個(gè)字符串第一種就是直接使用雙引號(hào)創(chuàng)建另一種就是新建一個(gè)String對(duì)象然后給這個(gè)對(duì)象填值。//1 String str1 Hello; String str2 World; //2 String str3 new String(Hello); String str4 new String(World);直接使用雙引號(hào)創(chuàng)建是在常量池開辟一個(gè)空間存放字符串之后直接將字符串在常量池中的地址給了在??臻g中的對(duì)象名所以輸出的是字符串在常量池中的地址。創(chuàng)建String對(duì)象時(shí)首先會(huì)在字符串常量池中開辟空間存儲(chǔ)字符串值然后將該字符串地址賦給堆內(nèi)存中的對(duì)象。棧內(nèi)存中的變量名則保存著堆內(nèi)存對(duì)象的地址。圖示說明如下而所謂的“一旦創(chuàng)建后其內(nèi)容無法修改”是因?yàn)椴还苁悄姆N方法創(chuàng)建的字符串的值都是在常量池中存儲(chǔ)著而一旦檢索到你要給String對(duì)象賦的值在常量池中有相同的他就會(huì)將該字符串在常量池中的地址給出去而不是新建一個(gè)空間去存儲(chǔ)。同樣的你要對(duì)一個(gè)字符串進(jìn)行修改實(shí)際上原本的那個(gè)字符串是已經(jīng)死了的不能改變了本質(zhì)上是又新開辟了一個(gè)空間將你修改的內(nèi)容放了進(jìn)去然后返回相應(yīng)的地址。3.3 字符串比較3.3.1 “”是關(guān)系運(yùn)算符用來比較等于號(hào)兩邊是否相等?;绢愋捅容^的是值是否相等引用類型比較的是地址是否相等??偨Y(jié)只負(fù)責(zé)比較等號(hào)兩側(cè)放的是值就比較值放的是地址就比較地址。所以當(dāng)兩個(gè)字符串都是直接使用雙引號(hào)創(chuàng)建的且字符串內(nèi)容相同時(shí)對(duì)象名中存儲(chǔ)的是字符串常量池中相同的地址所以 str1 str2結(jié)果會(huì)是true。而如果一個(gè)是new的一個(gè)是雙引號(hào)創(chuàng)建的那么new的對(duì)象名存儲(chǔ)的是對(duì)象在堆空間的地址而雙引號(hào)創(chuàng)建的時(shí)常量池中字符串的地址即使內(nèi)容相同str1 str2的。3.3.2 equals實(shí)際開發(fā)中判斷字符串是否相等指的是內(nèi)容是否相等而不是內(nèi)存地址是否相等。判斷字符串內(nèi)容是否相等使用equals方法。如果要忽略大小寫比較的話使用equalsIgnoreCase方法。例如判斷驗(yàn)證碼是否正確。3.4 構(gòu)造器//創(chuàng)建一個(gè)沒有任何內(nèi)容的字符串對(duì)象 String() //根據(jù)字符數(shù)組的內(nèi)容來創(chuàng)建一個(gè)字符串對(duì)象 String(char! chs) //創(chuàng)建一個(gè)字符串對(duì)象字符串的內(nèi)容是字符數(shù)組中下標(biāo)從offset開始的count個(gè)字符 String(charl chs, int offset,int count) //根據(jù)字節(jié)數(shù)組的內(nèi)容來創(chuàng)建一個(gè)字符串對(duì)象 String(bytel bytes) //創(chuàng)建一個(gè)字符串對(duì)象字符串的內(nèi)容是字節(jié)數(shù)組中下標(biāo)從offset開始的count個(gè)字節(jié) String(bytel bytes, int offset.int count) //直接賦值的方式創(chuàng)建字符串對(duì)象內(nèi)容是abc并未用任何構(gòu)造方法。推薦 String s abc;3.5 String的一些方法下面列舉了一些String類常用的對(duì)字符串進(jìn)行操作的方法有缺漏大家可以幫忙填補(bǔ)一下。//獲取當(dāng)前字符串的長(zhǎng)度即多少個(gè)字符。 public int length() //獲取指定下標(biāo)的字符。下標(biāo)從0開始最大下標(biāo)是length()-1 public char charAt(int index) //判斷字符串中是否包含指定的 字符串 public boolean contains(String str); //判斷字符串是否以指定的字符串開頭 public boolean startsWith(String str); //判斷字符串是否以指定的字符串結(jié)尾 public boolean endsWith(String str); /*獲取指定的下標(biāo),查找范圍是:下標(biāo)0到字符串.length()-1; 從前往后找,返回第一個(gè)匹配內(nèi)容的下標(biāo), 如果找不到匹配的內(nèi)容, 返回-1 */ public int indexOf(int ch); public int indexOf(String subStr); /*獲取指定的下標(biāo),查找范圍是:下標(biāo)fromIndex到字符串.length()-1; 從前往后找,返回第一個(gè)匹配內(nèi)容的下標(biāo), 如果找不到匹配的內(nèi)容, 返回-1 */ public int indexOf(int ch, int fromIndex); public int indexOf(String subStr, int fromIndex); /*獲取指定[字符]的下標(biāo),查找范圍是:下標(biāo)0到字符 串.length()-1;從前往后找,返回最后一個(gè)匹配內(nèi)容的下標(biāo),如果找不到匹配的內(nèi)容, 返回-1 */ public int lastIndexOf(int ch); public int lastIndexOf(String subStr); /*獲取指定[字符]的下標(biāo),查找范圍是:下標(biāo)0到 toIndex;從前往后找,返回最后一個(gè)匹配內(nèi)容的下標(biāo),如果找不到匹配的內(nèi)容, 返回-1 */ public int lastIndexOf(int ch, int toIndex); public int lastIndexOf(String subStr, int toIndex); //字符替換 public String replace(char oldChar,char newChar) //字符串按regex規(guī)則分割成多個(gè)小段 public String[] split(String regex) //將多個(gè)字符串合并成一個(gè)合并的時(shí)候添加指定的連接符 public static String join(CharSequence delimiter,CharSequence... s) //獲取從beginIndex開始到字符串結(jié)尾的子串 public String subString(int beginIndex) //獲取從beginIndex到endIndex之間的子串不含下標(biāo)為endIndex的字符 public String subString(int beginIndex, int endIndex) //將字符串改成全小寫 public String toLowerCase() //將字符串改成全大寫 public String toUpperCase() //刪除字符串左右兩側(cè)的空白(空格、換行符
、縮進(jìn)符 ) public String trim() //將其他數(shù)據(jù)類型的數(shù)據(jù)轉(zhuǎn)換為字符串需要使用類名.方法名調(diào)用 public static String valueOf(數(shù)據(jù)類型 變量名) //也可以通過變量進(jìn)行轉(zhuǎn)換例如int a 10; String str a ;*****************************************************************************************************還有下哦下要包含Random類Date類SimpleDateFormat類和包裝類。