java常用類,接口,方法,語(yǔ)法總結(jié)

      網(wǎng)友投稿 704 2025-04-01

      都是自己平??偨Y(jié)的,這一篇手打了一萬(wàn)字的,希望對(duì)大家有用,后面會(huì)持續(xù)更新JavaSE筆記總結(jié),會(huì)把它們放在一個(gè)專題中,更新完后,還會(huì)有JavaWEB總結(jié),框架總結(jié)等,建議~


      #Java常用類,方法,接口,語(yǔ)法匯總

      1、首先了解幾個(gè)關(guān)鍵詞語(yǔ)

      JVM:Java虛擬機(jī)

      JRE:jave運(yùn)行環(huán)境,包含Java虛擬機(jī)和Java核心類庫(kù)

      JDK:Java開(kāi)發(fā)工具,包含JRE和開(kāi)發(fā)工具

      2、Java關(guān)鍵字全部小寫,例如:public,class,static

      3、Java是一種強(qiáng)類型語(yǔ)言,在Java中數(shù)據(jù)類型包含基本數(shù)據(jù)類型和引用數(shù)據(jù)類型

      基本數(shù)據(jù)類型:整數(shù)類型int,byte,short,long(使用時(shí)之后面加上L)。浮點(diǎn)型flort(使用時(shí)后面加上F),double 字符類型char 布爾類型boolean

      4、標(biāo)識(shí)符:

      Java中標(biāo)識(shí)符就是我給類,變量,方法,常量起的名字,著些名字中一些命名規(guī)則

      類,接口命名:所有單詞首字母都大寫

      方法,變量,常量命名:除第一個(gè)單詞首字母小寫,其余首字母都大寫

      5、切記“=”這個(gè)是賦值,“==”這個(gè)是等于判斷符號(hào)

      6、邏輯運(yùn)算符&有與的作用,&&也有與的作用,但是后者有短路的作用,判斷第一個(gè)不符合不往后進(jìn)行判斷,“|“和”||"同理

      7、Scanner類:Java中鍵盤數(shù)據(jù)輸入一般要使用的一個(gè)類,具體有待探究

      構(gòu)造方法:Scanner sc = new Scanner(System.in);

      一般方法:int nextInt();接受鍵盤錄入的int數(shù)據(jù)

      String nextLine();接受鍵盤輸入的String類型的數(shù)據(jù)

      8、水仙花數(shù):一個(gè)三位數(shù)字,個(gè)位十位百位的數(shù)字立方和等于原數(shù)字(153 ?1*1*1+5*5*5+3*3*3=153)

      9、Random類:java中產(chǎn)生隨機(jī)數(shù)功能的類

      構(gòu)造方法:Random r=new Random();

      一般方法:int nextInt (int bound);產(chǎn)生隨機(jī)數(shù)在0-bound之間

      10、數(shù)組概念:數(shù)組就是一種存儲(chǔ)數(shù)據(jù)長(zhǎng)度固定的容器,存儲(chǔ)多個(gè)數(shù)據(jù)的數(shù)據(jù)類型一樣

      11、數(shù)組的定義及初始化:

      數(shù)據(jù)類型[] 數(shù)組名=new 數(shù)據(jù)類型[數(shù)組長(zhǎng)度];

      例如:int[] arr=new int[1024];

      byte[] bys=new byte[1024];

      數(shù)據(jù)類型[] 數(shù)組名=new 數(shù)據(jù)類型[]{元素.....};

      例如:int[] arr=new int[]{1,2,3,4};

      12、數(shù)組里數(shù)組長(zhǎng)度可用arr.length

      13、什么是方法:方法是將具有獨(dú)立功能的代碼塊組成一個(gè)整體,使其具有特殊功能的代碼集合。

      14、方法的定義格式:

      public static 返回值類型 方法名(形式參數(shù)){

      //方法體

      }

      15、方法要注意的事項(xiàng):

      1方法不能嵌套定義

      2void表示無(wú)返回值,可以不用加return,如果想加上,return后面不加數(shù)據(jù)

      16定義方法時(shí)要注意兩個(gè)明確:

      1明確返回值類型,如果沒(méi)有寫void

      2明確參數(shù)的類型和數(shù)量

      17、方法重載就是在同一個(gè)類中,定義的方法之間的關(guān)系。

      18、方法重載應(yīng)滿足的條件:

      1在同一個(gè)類中

      2具有相同的方法名

      3具有的參數(shù)不同,類型或者數(shù)量

      19、方法重載注意點(diǎn):

      1只與定義有關(guān),與調(diào)用無(wú)關(guān)

      2只針對(duì)方法參數(shù)的類型或數(shù)量,與方法的返回值無(wú)關(guān)

      20、客觀存在的事務(wù)都為對(duì)象,可以說(shuō)萬(wàn)物皆對(duì)象

      21、類的定義格式

      public class 類名{

      //成員變量

      變量1的數(shù)據(jù)類型 變量1;

      變量2的數(shù)據(jù)類型 變量2;

      ...

      //成員方法

      方法1

      方法2

      }

      22、對(duì)象的使用

      創(chuàng)建對(duì)象的格式:類名 對(duì)象名=new 類名();

      調(diào)用成員的格式:對(duì)象名.成員變量; 對(duì)象名.成員方法();

      23、成員變量存儲(chǔ)在堆內(nèi)存中,new開(kāi)辟堆內(nèi)存的存儲(chǔ)空間,用來(lái)存放成員變量。而成員方法存儲(chǔ)在棧內(nèi)存中,此類的所有對(duì)象共同使用同一成員方法,而不同對(duì)象使用的成員變量確實(shí)各自的。

      24、還有一種情況

      Student s1=new Student();

      Student s2=s1;

      這種情況是什么意思:s1開(kāi)辟了一份自己獨(dú)有存儲(chǔ)成員變量的空間,這個(gè)時(shí)候又把s1開(kāi)辟存儲(chǔ)的空間地址共享給了s2,讓s2也指向了s1的地址,這種情況下,s1與s2就有共同且相同的空間用來(lái)存儲(chǔ)成員變量

      25、成員變量與局部變量的區(qū)別:

      1成員變量在類中方法外,而局部變量在類中方法內(nèi)

      2存儲(chǔ)位置不同,成員變量存儲(chǔ)在堆內(nèi)存,只要?jiǎng)?chuàng)建的對(duì)象存在,它就會(huì)一直存在。局部變量存儲(chǔ)在棧內(nèi)存中,方法調(diào)用完以后就會(huì)消失。

      3成員變量一般存在與沒(méi)有main()方法的類中,且成員變量有默認(rèn)初始值,而局部變量沒(méi)有默認(rèn)初始值,必須先定義,賦值后才能使用。

      26、封裝

      1private關(guān)鍵字的使用:private是一個(gè)修飾符,用來(lái)修飾成員,被private修飾的成員,只能在本類中進(jìn)行訪問(wèn),針對(duì)Private修飾的成員變量,如果需要被其他類使用,提供想要的操作get(類型 類型名),set()。

      2this關(guān)鍵字:this也是修飾符,代之成員變量,其主要作用是區(qū)分局部變量和成員變量的區(qū)別

      3封裝思想:封裝是面向?qū)ο?/a>三大特征之一,是面向?qū)ο?/a>編程語(yǔ)言對(duì)客觀世界的模擬,客觀世界里成員變量都是隱藏在對(duì)象內(nèi)部的,外界是無(wú)法直接操作的。

      4封裝原則:將某些信息隱藏在類內(nèi)部,不允許外部程序直接訪問(wèn),而是通過(guò)該類內(nèi)部提供的方法來(lái)實(shí)現(xiàn)對(duì)隱藏信息的操作和訪問(wèn)

      5封裝好處:通過(guò)方法來(lái)控制變量,提高了代碼的安全性,把代碼用方法進(jìn)行封裝,提高了代碼的復(fù)用性

      27、構(gòu)造方法:是一種特殊的方法

      作用:創(chuàng)建對(duì)象使用的方法 Student s = new Student();

      格式:public 類名(){}

      public 類名(參數(shù)){方法體}

      功能:完成對(duì)象數(shù)據(jù)的初始化

      建議:如果定義一個(gè)類以后需要實(shí)例化,那建議無(wú)論是否使用無(wú)參或帶參構(gòu)造,這兩種構(gòu)造方法全部寫上

      28、API

      1什么是API:一般情況下,API指的是應(yīng)用程序編程接口。Java中的API指的是JDK中提供的各種功能的Java類,這些類將底層的實(shí)現(xiàn)封裝了起來(lái)。

      29、String類

      1概述:Java中所有帶雙引號(hào)""的字符串,都是String類的對(duì)象,處于Java.lang包下,不需要導(dǎo)包

      2特點(diǎn):

      字符串不可變,它的值在創(chuàng)建后不可更改,后面有StringBuilder類,這個(gè)類提供的可變的類

      雖然String的值是不可變,但是它們可以被共享

      字符串效果上相當(dāng)于字符數(shù)組char[],但是底層實(shí)現(xiàn)確實(shí)字節(jié)數(shù)組byte[]

      3String類的構(gòu)造方法

      public String()

      public String(char[] chs)

      public String(byte[] bys)

      String s = "abc"

      4創(chuàng)建字符串對(duì)象的兩種區(qū)別

      通過(guò)new創(chuàng)建的字符串對(duì)象,每一次new都會(huì)申請(qǐng)一個(gè)內(nèi)存空間,雖然內(nèi)容相同,但是地址值不同

      以""方式給出的字符串,只要字符序列相同(順序和大小寫),無(wú)論在程序代碼中出現(xiàn)幾次,JVM都只會(huì)建立一個(gè)String對(duì)象,并在字符串池中維持

      5String類常用的方法

      boolean equals (Object anObject) :比較字符串與指定對(duì)象內(nèi)容是否相同,區(qū)分大小寫,用法"abc".equals(String s)

      char charAt(int index):返回指定索引的char值

      int compareTo (String anotherString) :按照字典的順序比較兩個(gè)字符串,排序用

      byte[] getBytes ():將String編碼為字節(jié)數(shù)組的形式

      int length ():返回此字符串的長(zhǎng)度

      30、StringBuilder類

      1.概述:StringBuilder類是一個(gè)可變的字符串類,可以把它看成一個(gè)容器,可變指的是StringBuilder類實(shí)例化的對(duì)象中內(nèi)容是可變的

      2.StringBuilder類構(gòu)造方法

      public StringBuilder ()構(gòu)造一個(gè)沒(méi)有字符的字符串對(duì)象,初始容量為16個(gè)字符。

      public StringBuilder(String str)根據(jù)字符串的內(nèi)容,來(lái)創(chuàng)建可變的字符串對(duì)象

      3.常用方法

      public StringBuilder append(任意類型)添加數(shù)據(jù),返回對(duì)象本身

      public StringBuilder reverse()返回相反的字符串序列

      public int length()返回長(zhǎng)度

      public String toString()將StringBuilder轉(zhuǎn)換成String

      4.StringBuilder和String相互轉(zhuǎn)化

      StringBuilder->String:StringBuilder類提供toString()方法

      String->StringBuilder:在StringBuilder類的構(gòu)造方法的時(shí)候使用public StringBuilder(String str),就可以了

      31、ArrayList集合

      1.集合就是提供了一種存儲(chǔ)空間可變的存儲(chǔ)模型,存儲(chǔ)的數(shù)據(jù)容量可以發(fā)生變化

      2.構(gòu)造方法:

      public ArrayList()創(chuàng)建一個(gè)空的集合對(duì)象

      3.常用方法:

      public void add (int index, E element):在集合指定位置插入指定元素

      public boolean add (E e):在集合末尾添加一個(gè)元素,返回是否添加成功

      public int size():返回集合中 的元素個(gè)數(shù)

      public E get(int index):返回集合中指定位置的元素

      public E set(int index,Eelement):修改指定位置的元素,返回被修改的元素本身

      public E remove(int index):刪除指定索引處的元素,返回被刪除的元素

      public boolean remove(Object o):刪除指定的元素,返回刪除是否成功

      4.要點(diǎn):集合中不能存儲(chǔ)基本數(shù)據(jù)類型,存基本數(shù)據(jù)類型的時(shí)候,會(huì)自動(dòng)類型轉(zhuǎn)換,存儲(chǔ)進(jìn)集合的都是空間地址,無(wú)論是添加元素、刪除元素、修改元素、獲取元素,全部用到的都是空間地址

      例如:

      ArrayList array=new ArrayList();

      Student s1 = new Student(...);

      Student s2 = new Student(...);

      array.add(s1);//這里添加的都是Student對(duì)象的地址

      array.add(s2);

      Student s=array.get(0);//這里獲取的是索引為0的元素,而這個(gè)元素就是Student類實(shí)例化的對(duì)象地址,因此對(duì)象s被s1的地址賦值,可以理解為s等同于s1,類實(shí)例化對(duì)象成功在于是否指向一個(gè)空間地址,或者構(gòu)造方法new一個(gè)空間地址,或者直接賦值一個(gè)地址

      system.out.println(s.getName+","+s.getAge);//既然s等同于s1,即兩者相等

      32、繼承

      1.概念:繼承是面向?qū)ο蟮娜筇卣髦?,可以讓子類具有父類的屬性和方法,還可以在子類中重新定義(方法重寫),以及追加屬性和方法

      2.繼承帶來(lái)的用處:繼承可以讓類與類之間產(chǎn)生關(guān)系,子父類的關(guān)系,產(chǎn)生子父類后,子類則可以使用父類中非私有的成員

      3.繼承的好處

      提高代碼的復(fù)用性(多個(gè)類相同的成員可以放在同一個(gè)類中)

      提高了代碼的維護(hù)性(如果方法的代碼需要修改,修改一處即可)

      4.繼承的弊端

      繼承讓類與類之間產(chǎn)生關(guān)系,類的耦合性增強(qiáng)了,當(dāng)父類發(fā)生變化時(shí),子類不得不隨著變化,削弱了子類的獨(dú)立性

      5.變量的訪問(wèn)特點(diǎn)

      先子類局部找,再子類全局找,再父類成員找,都沒(méi)有就報(bào)錯(cuò)

      構(gòu)造方法的訪問(wèn)特點(diǎn)

      子類中所有的構(gòu)造方法默認(rèn)都會(huì)訪問(wèn)父類的無(wú)參構(gòu)造方法,如果父類中沒(méi)有無(wú)參構(gòu)造方法,只有帶參構(gòu)造方法,那要么在子類構(gòu)造方法通過(guò)super關(guān)鍵字調(diào)用父類帶參構(gòu)造方法,要么在父類中寫上無(wú)參構(gòu)造方法,建議在父類中寫入

      6.super關(guān)鍵字:可以理解成父類對(duì)象的引用

      super.成員變量:訪問(wèn)父類成員變量

      super.成員方法:訪問(wèn)父類成員方法

      super(...):訪問(wèn)父類構(gòu)造方法

      7.方法重寫:子類出現(xiàn)和父類一模一樣的方法聲明(方法名相同,參數(shù)列表也必須相同)

      8.方法重寫作用:當(dāng)子類需要父類的功能,又想要自己特有的功能的時(shí)候可以使用方法重寫(在子類重寫的方法中可以用super關(guān)鍵字來(lái)使用父類方法,重寫的方法體就是子類特有功能)

      9.方法重寫注意事項(xiàng):父類私有方法不能重寫(父類私有成員子類不能繼承) 子類重寫的方法訪問(wèn)權(quán)限只能是public、protected、默認(rèn) Java中繼承只支持單繼承和多層繼承

      10.package 包

      概述:包其實(shí)就是文件夾,用來(lái)管理文件的

      11.import 導(dǎo)包

      概述:使用不同包下的類時(shí),使用的時(shí)候要寫類的全路徑,寫起來(lái)太麻煩了,于是就提供了導(dǎo)包的功能

      如果沒(méi)有導(dǎo)包

      Java.util.Scanner sc=new java,util.Scanner(System.in);

      如果導(dǎo)包過(guò)后

      Scanner sc=new Scanner(System.in);

      12.final

      概述:final代表最終的意思,可以修飾成員方法,變量,類

      修飾類:該類不能被繼承,就是不能有子類可以有父類

      修飾成員方法:該方法不能被重寫

      修飾變量:表明該變量是一個(gè)常量,不能被繼續(xù)賦值

      13.final修飾的局部變量時(shí),修飾基本數(shù)據(jù)變量時(shí),數(shù)據(jù)值不能改變。修飾引用類型變量時(shí),地址值不可改變,但地址空間內(nèi)的內(nèi)容可以發(fā)生改變。

      14.static關(guān)鍵字

      static關(guān)鍵字是靜態(tài)的意思,可以修飾成員方法,成員變量

      特點(diǎn):被類的所有對(duì)象共享,這是判斷是否使用的條件??梢酝ㄟ^(guò)類名調(diào)用,也可以通過(guò)對(duì)象名調(diào)用(推薦使用類名調(diào)用)

      15.非靜態(tài)成員方法既可以訪問(wèn)靜態(tài)成員也可訪問(wèn)非靜態(tài)成員,而靜態(tài)成員方法,只能訪問(wèn)靜態(tài)成員

      33、多態(tài)

      1.概述:同一個(gè)對(duì)象,在不同時(shí)刻表現(xiàn)出來(lái)的不同形態(tài)

      2.多態(tài)前提:要有繼承或?qū)崿F(xiàn)關(guān)系 要有方法重寫 要有父類引用指向子類對(duì)象

      3.多態(tài)中成員訪問(wèn)特點(diǎn)

      成員變量:編譯看父類,運(yùn)行看父類

      成員方法:編譯看父類,運(yùn)行看子類

      4.好處:提高程序擴(kuò)展性 ?弊端:不能使用子類的特有方法

      34、抽象類 public abstract 類名(){}

      1.概述:在面向?qū)ο蟮母拍钪?,所有的?duì)象都是通過(guò)類來(lái)描繪的,但是反過(guò)來(lái),并不是所有的類都是用來(lái)描繪對(duì)象的,如果一個(gè)類中沒(méi)有包含足夠的信息來(lái)描繪一個(gè)具體的對(duì)象,這樣的類就是抽象類。

      抽象類除了不能實(shí)例化對(duì)象之外,類的其它功能依然存在,成員變量、成員方法和構(gòu)造方法的訪問(wèn)方式和普通類一樣。

      由于抽象類不能實(shí)例化對(duì)象,所以抽象類必須被繼承,才能被使用。也是因?yàn)檫@個(gè)原因,通常在設(shè)計(jì)階段決定要不要設(shè)計(jì)抽象類。

      父類包含了子類集合的常見(jiàn)的方法,但是由于父類本身是抽象的,所以不能使用這些方法。

      在 Java 中抽象類表示的是一種繼承關(guān)系,一個(gè)類只能繼承一個(gè)抽象類,而一個(gè)類卻可以實(shí)現(xiàn)多個(gè)接口。

      抽象類如何實(shí)例化:通過(guò)多態(tài)的方式,通過(guò)子類對(duì)象實(shí)例化,叫做抽象類多態(tài)

      2.抽象類的子類:要么是抽象類,要么重寫抽象類中的抽象方法

      35、接口 public interface 類名(){}

      1.概述:在JAVA編程語(yǔ)言中是一個(gè)抽象類型,是抽象方法的集合,接口通常以interface來(lái)聲明。一個(gè)類通過(guò)繼承接口的方式,從而來(lái)繼承接口的抽象方法。

      接口并不是類,編寫接口的方式和類很相似,但是它們屬于不同的概念。類描述對(duì)象的屬性和方法。接口則包含類要實(shí)現(xiàn)的方法。

      除非實(shí)現(xiàn)接口的類是抽象類,否則該類要定義接口中的所有方法。

      接口無(wú)法被實(shí)例化,但是可以被實(shí)現(xiàn)。一個(gè)實(shí)現(xiàn)接口的類,必須實(shí)現(xiàn)接口內(nèi)所描述的所有方法,否則就必須聲明為抽象類。

      2.特性:接口不能用于實(shí)例化對(duì)象。接口沒(méi)有構(gòu)造方法。接口中所有的方法必須是抽象方法,Java 8 之后接口中可以使用 default關(guān)鍵字修飾的非抽象方法。接口不能包含成員變量,除了 static 和 final 變量。接口不是被類繼承了,而是要被類實(shí)現(xiàn)。接口支持多繼承

      java常用類,接口,方法,語(yǔ)法總結(jié)

      3.接口中沒(méi)有變量,所有的成員變量前面默認(rèn)public static final修飾。接口中只有抽象方法,所有方法前面默認(rèn)public abstract

      (JDK9以后接口也有默認(rèn)方法default、靜態(tài)方法和私有方法)

      4.類與接口的關(guān)系

      類與類之間:繼承關(guān)系,只能單繼承,可以多層繼承

      類與接口之間:實(shí)現(xiàn)關(guān)系,可以單實(shí)現(xiàn),也可以多實(shí)現(xiàn)。也可以在繼承一個(gè)類以后實(shí)現(xiàn)多個(gè)接口

      接口與接口之間:繼承關(guān)系,可以單繼承,也可以多繼承

      5.抽象類與接口的關(guān)系

      成員區(qū)別:抽象類有常量,變量,構(gòu)造方法,抽象方法和非抽象方法。接口中有常量和抽象方法

      關(guān)系區(qū)別:類與類繼承,單繼承。類與接口實(shí)現(xiàn),多實(shí)現(xiàn)。接口與接口繼承,多繼承。

      36、參數(shù)和返回值

      1.類名作為參數(shù)和返回值

      類名作為方法的形參:實(shí)際是傳遞的是該類的對(duì)象的地址值

      類名作為方法的返回值:實(shí)際傳遞的也是該類對(duì)象的地址值

      2.抽象類作為參數(shù)和返回值

      抽象類作為方法的形參:實(shí)際傳遞的是該抽象類子類對(duì)象的地址值

      抽象類作為方法的返回值:實(shí)際傳遞的是該抽象類子類對(duì)象的地址值

      3接口名作為參數(shù)和返回值

      接口名作為方法的參數(shù):實(shí)際傳遞的是該接口實(shí)現(xiàn)類對(duì)象的地址值

      接口名作為方法發(fā)返回值:實(shí)際傳遞的是該接口實(shí)現(xiàn)類對(duì)象的地址值

      37、內(nèi)部類

      1.概念:在一個(gè)類中定義一個(gè)類

      2.格式

      public class Outer{

      public class Inner{

      }

      }

      3.內(nèi)部類特點(diǎn):內(nèi)部類可以直接訪問(wèn)外部類的成員,包括私有。外部類要訪問(wèn)內(nèi)部類必須先創(chuàng)建對(duì)象。

      38、成員內(nèi)部類

      1.概念:就是在類中和成員變量在一個(gè)位置的內(nèi)部類

      2.在外界創(chuàng)建成員內(nèi)部類格式

      Outer.Inner oi = new Outer().new Inner();

      3.將一個(gè)類設(shè)計(jì)成內(nèi)部類目的是不想讓外部去訪問(wèn),所以定義內(nèi)部類應(yīng)該私有化,然后再提供一個(gè)外界調(diào)用的方法,方法內(nèi)部創(chuàng)建內(nèi)部類對(duì)象并調(diào)用

      public class Outer{

      private int num = 10;

      private class Inner{

      public void show(){

      system.out.println(num);

      }

      }

      public void method(){

      Inner i = new Inner();

      i.show();

      }

      }

      39、局部?jī)?nèi)部類

      1.位置:在方法中定義的類

      2.局部?jī)?nèi)部類外界無(wú)法直接訪問(wèn),需要在方法內(nèi)部創(chuàng)建對(duì)象并使用。局部?jī)?nèi)部類可以直接訪問(wèn)外部類的成員,也可以訪問(wèn)方法的局部變量

      40、匿名內(nèi)部類

      1.前提:存在一個(gè)類或者接口,這里的類可以是具體類也可以是抽象類

      2.匿名內(nèi)部類格式:new 類名(){重寫方法} new 接口名(){重寫方法}

      new Inter(){

      @Override

      public void method(){}

      }

      3.本質(zhì):是一個(gè)繼承了該類或者實(shí)現(xiàn)了該接口的子類匿名對(duì)象,其實(shí)也可以把他當(dāng)成實(shí)現(xiàn)類或者子類對(duì)象

      41、Math類

      1.概述:Math 包括執(zhí)行基本數(shù)字運(yùn)算的方法

      2.Math類無(wú)構(gòu)造方法,但內(nèi)部的方法都是靜態(tài)的,可以通過(guò)類名直接調(diào)用

      3.常用方法

      public static E abs(E a) 返回參數(shù)的絕對(duì)值

      42、System類

      1.常用方法:

      public static void exit(int status)終止當(dāng)前運(yùn)行的Java虛擬機(jī),非零表示異常終止

      public static long currentTimeMillis()返回當(dāng)前時(shí)間(單位是毫秒)

      Arrays類

      常用方法:public static void sort(int[] a):按照數(shù)字順序排序指定數(shù)組

      43、Object類的toString equals方法

      1.Object是類層次結(jié)構(gòu)的根,每個(gè)類都可以將Object作為超類。所有類都直接或間接繼承該類,換句話說(shuō),該類所具有的方法,所有類都有一份

      2.toString方法的作用

      以良好的格式,更方便的展示對(duì)象中的屬性值

      3.equals方法的作用

      用于對(duì)象間的比較,返回true和false的結(jié)果

      例如:String s1 = "123";

      String s2 = "123";

      if(s1==s2){

      system.out.println("比較的是對(duì)象地址);

      }else if(s1.equals(s2)){

      system.out.println("比較的是字符串的內(nèi)容");

      {

      44、包裝類

      1.基本類型包裝類

      byte->Byte int->Integer char->Character.....

      2.Integer類

      *概述:包裝一個(gè)對(duì)象中原始類型int的值,該類還提供了幾種將int轉(zhuǎn)換為String和String轉(zhuǎn)換為int ,以及其他常量和方法在處理int時(shí)非常有用

      *構(gòu)造方法:

      public Integer(int value):根據(jù)int值創(chuàng)建Integer對(duì)象

      public Integer(String s):根據(jù)String值創(chuàng)建Integer對(duì)象

      public static Integer valueOf(int i):返回表示指定的int值的Integer實(shí)例

      public static Integer valueOf(String s):返回表示指定的String值的Integer實(shí)例

      *int和String類型的相互轉(zhuǎn)換

      int->String

      直接在數(shù)字后加一個(gè)字符串

      int num = 100;

      String s = num+"";

      通過(guò)String類靜態(tài)方法valueOf()

      int num = 100;

      String s = String.valueOf(num);

      String->int

      先將字符串轉(zhuǎn)成Integer,在調(diào)用intValue()

      String s ="100";

      Integer i = Integer.valueOf(s);

      int x = i.intvalue();

      通過(guò)Integer靜態(tài)方法parseInt()

      String s = "100";

      int i = Integer.parseInt(s);

      3.Data類

      *概述:代表一個(gè)特定的時(shí)間,精確到毫秒

      *構(gòu)造方法:

      public Date():分配一個(gè)data對(duì)象,并初始化,代表它被分配的時(shí)間

      public Date(long date):分配一個(gè)data對(duì)象,并將其初始化為表示從標(biāo)準(zhǔn)基準(zhǔn)時(shí)間起指定的毫秒數(shù)

      *常用方法:

      public long getTime():獲取的時(shí)期對(duì)象是從1970年1月1日00:00:00到現(xiàn)在的毫秒數(shù)

      public void setTime(long time):設(shè)置時(shí)間,給到的是毫秒值

      4.SimpleDateFormat類

      *概述:用于格式化日期,和解析日期

      *構(gòu)造方法:

      public SimpleDateFormat():構(gòu)造一個(gè)SimpleDateFormat,使用默認(rèn)模式和日期格式

      public SimPleDateFormat(String pattern):構(gòu)造一個(gè)SimpleDateFormat,使用給定模式和默認(rèn)的日期格式

      *常用方法:

      public final String format(Date date):將日期格式化成日期/時(shí)間字符串

      public Date parse(String source):從給定字符串開(kāi)始解析文本生成日期

      5.Calendar類

      *概述:為特定瞬間與一組日歷字段之間轉(zhuǎn)換提供了一些方法,并為操作日歷字段提供了一些方法。calendar提供了一個(gè)類方法getlnstance,用于獲取這種類型的一般有用的對(duì)象。該方法返回一個(gè)Calendar對(duì)象,日歷字段使用當(dāng)前日期初始化:Calendar rightnow=Calendar.getlnstence();

      *常用方法:

      public int get(int field):返回給定日歷字段的值

      public abstract void add(int field,int amount):根據(jù)日歷的規(guī)則,將指定的時(shí)間添加或減去給定的日歷字段

      public final void set(int year,int month,int date):設(shè)置當(dāng)前日歷的年月日

      45、異常

      1.概述:異常就是程序出現(xiàn)了不正常的情況

      2.異常的體系結(jié)構(gòu)Throwable->(Error,Exception)->(RuntimeException,非RuntimeException)

      Error:嚴(yán)重錯(cuò)誤,不需要處理

      Exception:異常類,可以修改的錯(cuò)誤

      RuntimeException:運(yùn)行時(shí)錯(cuò)誤,編譯期不檢查,出現(xiàn)問(wèn)題回來(lái)改代碼

      非RuntimeException:編譯時(shí)錯(cuò)誤,編譯期必須改正,否則代碼無(wú)法運(yùn)行

      3.JVM默認(rèn)處理異常的方法:把程序異常的名稱,錯(cuò)誤原因及異常出現(xiàn)的位置等信息在控制臺(tái)輸出,程序停止執(zhí)行

      4.異常處理方式

      *try-catch方式

      try{

      可能出現(xiàn)異常的代碼;

      }catch(異常類名 變量名){

      異常處理代碼;

      }

      *throws方式

      public void 方法() throws 異常類名{}

      *throws格式是跟在方法的括號(hào)后面的

      *如果采用throws方案,將來(lái)誰(shuí)調(diào)用誰(shuí)處理,運(yùn)行時(shí)異??梢圆惶幚恚霈F(xiàn)問(wèn)題后,需要回來(lái)改代碼

      5.Throwable成員方法:

      public String getMessage():返回throwable的詳細(xì)消息字符串

      public String toString():返回此可拋出的簡(jiǎn)短描述

      public void printStackTrace():把異常的錯(cuò)誤信息輸出在控制臺(tái)

      6.throws和throw的區(qū)別

      *throws

      用在方法聲明后面,跟的是異常類名

      表示拋出異常,由調(diào)用它的方法來(lái)處理

      表示出現(xiàn)異常的一種可能性,并不一定會(huì)出現(xiàn)

      *throw

      用在方法內(nèi),跟的是異常對(duì)象名

      表示拋出異常,由方法體內(nèi)的語(yǔ)句處理

      執(zhí)行throw一定拋出了某種異常

      *格式:throw new 類名(...);

      Java

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。

      上一篇:如果相應(yīng)的字符串有一定長(zhǎng)度,如何求和?
      下一篇:白話Elasticsearch17-深度探秘搜索技術(shù)之match_phrase query 短語(yǔ)匹配搜索
      相關(guān)文章
      亚洲男人天堂2018av| 亚洲第一页在线播放| 欧美亚洲国产SUV| 亚洲精品蜜夜内射| 亚洲人成无码网WWW| 亚洲av无码专区国产乱码在线观看| 亚洲国产成人精品不卡青青草原| 亚洲av永久综合在线观看尤物| 亚洲国产精品精华液| 亚洲无人区一区二区三区| 亚洲精品资源在线| 亚洲娇小性xxxx| 国产AV无码专区亚洲AV蜜芽| 在线观看亚洲成人| 亚洲另类小说图片| 亚洲国产精品一区二区第一页免| 亚洲精品成人网站在线观看 | 亚洲视频在线免费播放| 亚洲综合欧美色五月俺也去| 精品无码专区亚洲| 亚洲阿v天堂在线| 国产亚洲精品bv在线观看| yy6080久久亚洲精品| 精品亚洲综合久久中文字幕| 亚洲午夜久久影院| youjizz亚洲| 国产亚洲A∨片在线观看| 亚洲综合精品香蕉久久网97| 亚洲性天天干天天摸| 亚洲日韩AV一区二区三区四区| 色天使色婷婷在线影院亚洲| 国产AV无码专区亚洲AV男同| 亚洲大成色www永久网址| 国产亚洲成归v人片在线观看| 亚洲人成网站影音先锋播放| 久久夜色精品国产噜噜亚洲a| 亚洲综合最新无码专区| 亚洲无线电影官网| 亚洲欧美第一成人网站7777 | 性色av极品无码专区亚洲| 亚洲JIZZJIZZ中国少妇中文|