首頁  >  文章  >  Java  >  java中String是物件還是類別?詳解java中的String

java中String是物件還是類別?詳解java中的String

零下一度
零下一度原創
2017-05-22 11:01:212061瀏覽

有很多人搞不懂物件和類別的定義。比如說java中String到底是物件還是類別呢?

有人說String 可以說是類,也可以說是物件。

其實他這麼說也沒問題, 類別和物件其實都是一個抽象的概念。我們可以把一類東西歸集在一起,取一個名字,什麼類,專門做什麼事的,但是我們也可以說它是一個對象……

所以說String 既可以說是類,也可以說是對象。 

但是如果你要深究,比如小編就餓深究了一下,我發現在java.lang中,這是個基礎類,你可以好好看看lang包中的源碼。

public final class String extends Object implements Serializable,Comparable < String >,CharSequence

在java.lang中,String類別代表字串。 Java程式中的所有字串文字,例如"abc",都實作為此類的實例。

字串不變; 它們的值在創建後不能被更改。字串緩衝區支援可變字串。因為String物件是不可變的,它們可以被共享。例如:

  String str =“abc”;

相當於:

   char data [] = {&#39;a&#39;,&#39;b&#39;,&#39;c&#39;};
     String str = new String(data);

以下是一些如何使用字串的範例:

   System.out.println( “ABC”);
     String cde =“cde”;
     System.out.println(“abc”+ cde);
     String c =“abc”.substring(2,3);
     String d = cde.substring(1,2);

該類別String包括用於檢查序列的各個字元的方法,用於比較字串,用於搜尋字串,用於提取子字串,以及用於建立將所有字元翻譯為大寫或小寫的字串副本。案例映射基於Character該類別指定的Unicode標準版本。

Java語言為字串連接運算子(+)提供特殊支持,並為其他物件轉換為字串。透過StringBuilder(或StringBuffer)類別及其append方法實現字串連接。字串轉換透過toString由ObjectJava中的所有類別定義並由其繼承的方法 實作。有關字串連接和轉換的其他信息,請參閱Gosling,Joy和Steele, Java語言規格。

除非另有說明,否則將null參數傳遞給此類中的建構子或方法將導致NullPointerException拋出。

甲String表示在其中UTF-16格式的字串增補字元由表示替代雙(請參閱節的Unicode字元表示在Character類別的更多資訊)。索引值是指char代碼單位,所以補充字元在a中使用兩個位置String。

的String類別提供使用Unicode程式碼點(即,字元)處理,除了那些用於處理Unicode程式碼單元(即,方法char的值)。

所以以後遇到什麼問題,朋友可以查文檔,看源碼。 查文檔也可以知道它是類,看源碼就可以快速的了解這個是啥。

以後你看一個東西是不是interface,class,等等都可以用類似這種方法。

類別: 是對一個實體的主觀抽像以及定義,  物件   就是這個類別所產生的特定的實例  ,String s=new String();這裡的  String 是一個類別,且s是String類別所產生的對象。 。

建構方法摘要 

#
String() 
          初始化一个新创建的 String 对象,使其表示一个空字符序列。 
String(byte[] bytes) 
          通过使用平台的默认字符集解码指定的 byte 数组,构造一个新的 String。 
String(byte[] bytes, Charset charset) 
          通过使用指定的 charset 解码指定的 byte 数组,构造一个新的 String。 
String(byte[] ascii, int hibyte) 
          已过时。 该方法无法将字节正确地转换为字符。从 JDK 1.1 开始,完成该转换的首选方法是使用带有 Charset、字符集名称,或使用平台默认字符集的 String 构造方法。 
String(byte[] bytes, int offset, int length) 
          通过使用平台的默认字符集解码指定的 byte 子数组,构造一个新的 String。 
String(byte[] bytes, int offset, int length, Charset charset) 
          通过使用指定的 charset 解码指定的 byte 子数组,构造一个新的 String。 
String(byte[] ascii, int hibyte, int offset, int count) 
          已过时。 该方法无法将字节正确地转换为字符。从 JDK 1.1 开始,完成该转换的首选方法是使用带有 Charset、字符集名称,或使用平台默认字符集的 String 构造方法。 
String(byte[] bytes, int offset, int length, String charsetName) 
          通过使用指定的字符集解码指定的 byte 子数组,构造一个新的 String。 
String(byte[] bytes, String charsetName) 
          通过使用指定的 charset 解码指定的 byte 数组,构造一个新的 String。 
String(char[] value) 
          分配一个新的 String,使其表示字符数组参数中当前包含的字符序列。

總結一下(pz):類, 是對一個實物的主觀抽像以及定義,  物件   就是這個類別所產生的特定的實例。 String s=new String();

這裡的  String 是一個類別,s是String類別所產生的物件。 。本質上,String是一個類,可如果說你要使用它時就是可實例化一個物件。

String是一個很特殊的類別!有別於基本型別

【相關推薦】

1. 分享Java中String類別的實例教學

2. 總結Java 中String類別的實例教學

3. Java中String類別的常用方法是什麼?總結Java中String類別的常用方法

4. 分享java String部分原始碼解讀

#

以上是java中String是物件還是類別?詳解java中的String的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn