Java中 tostring方法
2017-10-10 16:27
183 查看
public class Orc { public static class A { public String getString() { return "this is A"; } } public static void main(String[] args) { A obj = new A(); System.out.println(obj); System.out.println(obj.getString()); } } 运行结果: com.edu.cn.Orc$A@7852e922 this is A
class A { public String toString() { return "this is A"; } } public class tostringTest { public static void main(String[] args) { A obj = new A(); System.out.println(obj); } } 运行结果 this is A
toString的好处就是在碰到“println”之类的输出方法时会自动调用,不用显示打出来
public class User { private String username ; private String password ; public User(){ } public User(String username ,String password) { this.username=username ; this.password= password ; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String toString(){ return "姓名:"+username+"\t用户密码:"+password ; } public static void main(String[] args) { System.out.println(new User("张三","123456")); } } 运行结果: 姓名:张三 用户密码:123456
class Villain {
private String name;
protected void set(String nm) {
name = nm;
}
public Villain(String name) {
this.name = name;
}
public String toString() {
return "I'm a Villain and my name is " + name;
}
}
public class add extends Villain{
private int orcNumber;
public add(String name, int orcNumber) {
super(name);
this.orcNumber = orcNumber;
}
public void change(String name, int orcNumber) {
set(name);
this.orcNumber = orcNumber;
}
public String toString() {
return "Orc" + orcNumber + ":" + super.toString();
}
public static void main(String[] args) {
add add = new add("Limburger", 12);
System.out.println(add);
add.change("Bob", 19);
System.out.println(add);
}
}
运行结果:
Orc12:I'm a Villain and my name is Limburger
Orc19:I'm a Villain and my name is Bob
在java中,如果一个对象未重写toString()方法,那么它将会调用父类的toString(),
如果父类也没有重写这个方法,那么就迭代往上调用,直到Object的toString()方法。
因为它是Object里面已经有了的方法,而所有类都是继承Object,所以“所有对象都有这个方法”。
它通常只是为了方便输出,比如System.out.println(xx),括号里面的“xx”如果不是String类型的话,就自动调用xx的toString()方法
它是为了方便所有类的字符串操作而特意加入的一个方法
相关文章推荐
- java中的toString() 方法(多看本文的例子!)
- Java toString()方法的使用方式
- java对象通用方法之覆盖equals时请遵守通用约定、覆盖equals时总要覆盖hashCode、始终要覆盖toString、考虑实现Comparable接口
- java中区别toString() ,(String),valueOf()方法
- Java中重载toString()方法的作用
- Java JPasswordField用法解析——toString方法
- Java 对象的 toString() 方法 -Java 学习笔记 (16)
- JAVA中toString方法的作用
- Java中为什么要重写ToString方法
- 【Java学习笔记】Java中关于tostring方法的误操作
- 自定义java toString方法
- 自定义java toString方法
- Java学习之面向对象(1.Object类,(1)toString方法,(2)equals方法,2.对象转型(casting),3.动态绑定与多态,4.抽象类(abstract),5.Final关键字)
- JAVA中toString方法的作用
- 关于java的tostring()方法
- 利用Java Reflect机制编写万能toString()方法
- JAVA中tostring方法的作用
- java 类与对象 5---toString()方法
- Java中关于tostring方法的误操作
- JAVA中toString方法的作用