日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

[转载] java之重写toString

發布時間:2025/3/11 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [转载] java之重写toString 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

參考鏈接: Java程序的輸出| 重寫Override

1.toString()就是是重寫,對于一般的對象來說都會有這個方法,其實這個方法的目的,主要就是將對象按字符串的方式輸出出來:打個比方,比如一個People類,里邊有name,age這兩個屬性,?

如果你People p = new People(); p.toString(); 這么做的話,默認輸出就是一個內存地址。 那么你會想到重寫ToString();這個方法,按自己的方式去輸出。 比如將toString的方法體改為:return p.name+p.age; 這個時候toString輸出的東西就是People這個類的姓名和年齡了。?

重寫toString() 只會對類生效,并不能字符串生效; 例如:?

? public class pratise {

? ? ? String num="aaaa";

? ? ? public String toString(){

? ? ? ? ? return num;

? ? ? }

? ? ? public static void main(String[] args){

? ? ? ? String s1="111";

? ? ? ? System.out.println(s1.toString());?

? ? ? ? //輸出111 而并非aaaa;

? ? ? }

}?

重寫toString()對類生效 , 例如:?

package com.stu;

?

?

?

//用toString 重寫一個類

?

public class Car {

?

? ?//成員變量

? ? private String carNo;

?

? ? private String carName;

?

? ? private String color;

?

? ? private double price;??

?

? ?//有參構造函數

?

? ? Car(String carNo,String carName,String color,double price){

?

? ? ? ? this.carNo=carNo;

?

? ? ? ? this.carName=carName;

?

? ? ? ? this.color=color;

?

? ? ? ? this.price=price;

? ? }

?

? ? //get set方法

?

? ? public String getCarNo(){

?

? ? ? ? return carNo;

?

? ? }

? ? public void setCarNo(String carNo){

?

? ? ? ? this.carNo=carNo;

?

? ? }

? ? public String getCarName() {

?

? ? ? ? return carName;

?

? ? }

? ? public void setCarName(String carName) {

?

? ? ? ? this.carName = carName;

?

? ? }

? ? public String getColor() {

?

? ? ? ? return color;

?

? ? }

? ? public void setColor(String color) {

?

? ? ? ? this.color = color;

?

? ? }

? ? public double getPrice() {

?

? ? ? ? return price;

?

? ? }

? ? public void setPrice(double price) {

?

? ? ? ? this.price = price;

?

? ? }

? ? //重寫toString();

? ? public String toString(){

?

? ? ? ? return "這個汽車名叫 "+carName+",型號是 "+carNo+",汽車顏色 "+color+",價格 "+price;

?

? ? }

? ? public static void main(String[] args){

?

? ? ? ?//創建一個Car的對象

?

? ? ? ? Car myCar=new Car("蘇A 4995","長安汽車","灰藍色",70000.00);? ?//類名開頭字母大寫

?

? ? ? ? System.out.println(myCar.toString());

?

? ? }

?

}

?

輸出結果:?

?

假如不對toString()進行重寫則 輸出結果:?

?com.stu.Car@2542880d? ==> 類名 + “@” +hashCode值?

2.為什么要重寫toString()方法?

在Object類里面定義toString()方法的時候返回的對象的哈希code碼,這個hashcode碼不能簡單明了的表示出對象的屬性。所以要重寫toString()方法。 當需要將一個對象輸出到顯示器時,通常要調用他的toString()方法,將對象的內容轉換為字符串.java中的所有類默認都有一個toString()方法。 默認情況下 System.out.println(對象名)或者System.out.println(對象名.toString())輸出的是此對象的類名和此對象對應內存的首地址如果想自定義輸出信息必須重寫toString()方法。?

注意事項:?

①.必須被聲明為public?

②.返回類型為String?

③.方法的名稱必須為toString,且無參數?

④.方法體中不要使用輸出方法System.out.println()

總結

以上是生活随笔為你收集整理的[转载] java之重写toString的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。