📋 个人简介
- 💖 作者简介:大家好,我是阿牛,全栈领域新星创作者。😜
- 🎉 支持我:点赞👍+收藏⭐️+留言📝
- 📣 系列专栏:重走 java 路🍁
- 💬格言:要成为光,因为有怕黑的人!🔥
前言
上一节我们写了Object类中equals()方法的使用以及重写,这一节我总结一下Object类中toString()方法的使用和重写!
toString() 方法的使用
1.toString()方法在 Object 类中定义,其返回值是 String 类型,返回类名和它
的引用地址。
我们来看看源码:
public String toString() {
return getClass().getName() + "@" + Integer.toHexString(hashCode());
}
2.当我们输出一个对象的引用时,实际上就是调用当前对象的toString()方法。
package 重写toString;
public class Demo {
public static void main(String[] args) {
Person p = new Person("aniu", 21);
System.out.println(p);
//相当于
System.out.println(p.toString());
}
}
class Person{
String name;
int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
}
2.在进行 String 与其它类型数据的连接操作时,自动调用 toString ()方法 。
Date now = new Date ();
System.out.printin("now ="+ now );
//相当于
System.out.printin("now ="+ now.toString ());
3.可以根据需要在用户自定义类型中重写toString()方法,像String、Date、File、包装类等都重写了Object类中的toString()方法!
如 String 类重写了 toString ()方法,返回字符串的值。
String s1= "hello" ;
System.out.println(s1);
//相当于
System.out.printin(s1.toString());
我们来看看String类中重写的toString()方法:
public String toString() {
return this;
}
4.基本类型数据转换为 String 类型时,调用了对应包装类的 toString ()方法
int a = 10;
System.out.println("a =" + a );
重写 toString() 方法
手动重写
我们可以手动重写toString()方法,输出我们想要的内容
package 重写toString;
public class Demo {
public static void main(String[] args) {
Person p = new Person("aniu", 21);
System.out.println(p);
//相当于
System.out.println(p.toString());
}
}
class Person{
String name;
int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
// 手动重写toString()
@Override
public String toString() {
return "name:" + this.name + " age:" + this.age;
}
}
自动重写
像equals()一样,idea也可以帮助我们自动重写toString()方法!
package 重写toString;
public class Demo {
public static void main(String[] args) {
Person p = new Person("aniu", 21);
System.out.println(p);
//相当于
System.out.println(p.toString());
}
}
class Person{
String name;
int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
@Override
public String toString() {
return "Person{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
}
结语
如果你觉得博主写的还不错的话,可以关注一下当前专栏,博主会更完这个系列的哦!也欢迎订阅博主的其他好的专栏。
🏰系列专栏
👉软磨 css
👉硬泡 javascript
👉flask框架快速入门