码迷,mamicode.com
首页 > 编程语言 > 详细

疯狂JAVA讲义P167【6.2处理对象 6.2.1打印对象和toString方法】渣渣笔记Ctrl+C+V

时间:2018-01-26 14:00:36      阅读:213      评论:0      收藏:0      [点我收藏+]

标签:weight   gtest   java   自我   src   6.2   变量   stat   test   

例子2
1 public class Orc 2 { 3 public static class A 4 { 5 public String toString() 6 { 7 return "this is A"; 8 } 9 } 10 public static void main(String[] args) 11 { 12 A obj = new A(); 13 System.out.println(obj); 14 } 15 }   //输出结果!!
技术分享图片

例子2: 

 1 public class Orc
 2 {
 3        public static class A
 4        {
 5               public String getString()
 6               {
 7                      return "this is A";
 8               }
 9        }
10        public static void main(String[] args)
11        {
12               A obj = new A();
13               System.out.println(obj);
14               System.out.println(obj.getString());
15        }
16 }
技术分享图片

 看出区别了吗,toString的好处是在碰到“println”之类的输出方法时会自动调用,不用显式打出来。

 

 

 

 

 

一 概念简介

1、打印对象和toString方法:toString方法是系统将会输出该对象的“自我描述”信息,用以告诉外界对象具有的状态信息。

2、Object 类提供的toString方法总是返回该对象实现类的类名 + @ +hashCode值。

二 打印对象示例

1、程序示例

 1 class Person
 2 {
 3     private String name;
 4     public Person(String name)
 5     {
 6         this.name = name;
 7     }
 8 }
 9 public class PrintObject
10 {
11     public static void main(String[] args)
12     {
13         // 创建一个Person对象,将之赋给p变量
14         Person p = new Person("林冲");
15         // 打印p所引用的Person对象
16         System.out.println(p);
17     }
18 }

2、运行结果

Person@1db9742

3、结果分析

当使用该方法输出Person对象时,实际输出的是Person对象的toString方法。

三 重写toString方法示例

1、程序示例

 1 class Apple
 2 {
 3     private String color;
 4     private double weight;
 5     public Apple(){    }
 6     //提供有参数的构造器
 7     public Apple(String color , double weight)
 8     {
 9         this.color = color;
10         this.weight = weight;
11     }
12 
13     // color的setter和getter方法
14     public void setColor(String color)
15     {
16         this.color = color;
17     }
18     public String getColor()
19     {
20         return this.color;
21     }
22 
23     // weight的setter和getter方法
24     public void setWeight(double weight)
25     {
26         this.weight = weight;
27     }
28     public double getWeight()
29     {
30         return this.weight;
31     }
33     // 重写toString方法,用于实现Apple对象的"自我描述"
34     public String toString()
35     {
36         return "一个苹果,颜色是:" + color
37             + ",重量是:" + weight;
38     }
39 
40 //    public String toString()
41 //    {
42 //        return "Apple[color=" + color + ",weight=" + weight + "]";
43 //    }
44 
45 }
46 public class ToStringTest
47 {
48     public static void main(String[] args)
49     {
50         Apple a = new Apple("红色" , 2.38);
51         // 打印Apple对象
52         System.out.println(a);
53     }
54 }

2、运行结果

一个苹果,颜色是:红色,重量是:2.38

3、结果分析

从上面的运行结果来看,通过重写Apple类的toString方法,就可以让系统在打印Apple对象时打印出该对象的“自我描述”信息。

疯狂JAVA讲义P167【6.2处理对象 6.2.1打印对象和toString方法】渣渣笔记Ctrl+C+V

标签:weight   gtest   java   自我   src   6.2   变量   stat   test   

原文地址:https://www.cnblogs.com/zhenJA/p/8358999.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!