tostring的实例
时间: 2024-05-04 22:20:55 浏览: 6
假设有一个名为 `Person` 的类,其中包含 `name` 和 `age` 两个属性,可以重载 `tostring` 方法来返回该对象的字符串表示形式。示例代码如下:
```lua
-- 定义 Person 类
local Person = {}
Person.__index = Person
function Person.new(name, age)
local self = setmetatable({}, Person)
self.name = name
self.age = age
return self
end
function Person:tostring()
return string.format("Person{name=%s, age=%d}", self.name, self.age)
end
-- 创建 Person 对象并打印其字符串表示形式
local p = Person.new("Alice", 25)
print(p:tostring()) -- 输出:Person{name=Alice, age=25}
```
在上述示例中,`tostring` 方法被重载为返回一个包含对象属性的字符串,用于打印对象时显示。
相关问题
tostring方法重写实例
下面是一个重写tostring方法的示例:
```lua
-- 定义一个Person类
Person = {name = "Tom", age = 20}
-- 重写tostring方法
function Person:__tostring()
return "name: " .. self.name .. ", age: " .. self.age
end
-- 创建一个Person对象
p = Person
-- 输出Person对象
print(p)
```
输出结果为:
```
name: Tom, age: 20
```
在上面的示例中,我们定义了一个Person类,并重写了其tostring方法,使其返回一个包含name和age属性的字符串。
在创建Person对象后,我们直接输出该对象,此时会调用tostring方法并返回一个字符串。
java tostring
在Java中,`toString()`是一个Object类的方法,用于返回对象的字符串表示形式。默认情况下,`toString()`方法返回对象的类名,后跟“@”符号,后跟对象的哈希码的无符号十六进制表示。如果我们想要自定义一个对象的`toString()`方法,我们可以覆盖默认的`toString()`方法,并在其中编写我们自己的逻辑来返回对象的字符串表示形式。
例如,我们可以创建一个名为`Person`的类,并覆盖`toString()`方法,以便返回该类的实例的姓名和年龄:
```java
public class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
@Override
public String toString() {
return "Person{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
// getters and setters
}
```
在上面的代码中,我们覆盖了`toString()`方法,并在其中使用字符串连接运算符`+`来构建一个包含对象属性的字符串。现在,我们可以创建一个`Person`对象,并使用`System.out.println()`方法来打印该对象的字符串表示形式:
```java
Person person = new Person("Alice", 25);
System.out.println(person); // 输出:Person{name='Alice', age=25}
```
这将输出`Person{name='Alice', age=25}`,这是`Person`类的实例的字符串表示形式。