gpt4 book ai didi

java - 构造函数中的 this.setMethod(parameter) 和 setMethod(parameter) 有什么区别? [ java ]

转载 作者:行者123 更新时间:2023-12-05 01:52:06 24 4
gpt4 key购买 nike

最近几天我一直在努力学习类和对象,我意识到在构造函数中使用“this.set”和“set”并没有明显的区别。澄清

public Movie(String title,String director, String rating) {
setTitle(title);
setDirector(director);
setRating(rating);

public Movie(String title,String director, String rating) {
this.setTitle(title);
this.setDirector(director);
this.setRating(rating);

运行时没有任何区别。

有什么区别,如果有的话,哪个更好?

我原以为会出现某种错误,但结果完全一样。此外,我的讲师使用“this”。在他的示例中将 setter 放入构造函数中。

谢谢。

最佳答案

在您的示例中调用 setter 方法时无需使用 this(这不是标准做法)。但是,如果要在构造函数中设置与变量同名的字段,则需要使用 this。例如:

public class Movie {
private final String title;

public Movie(String title) {
this.title = title;
}
}

如果您不指定 this.title,它会认为您正在尝试将 title 变量分配给它自己。

当您的类扩展了另一个类时,还需要关键字 this 来区分方法的不同实现(例如,您可以调用 this.method() super.method().)

关于java - 构造函数中的 this.setMethod(parameter) 和 setMethod(parameter) 有什么区别? [ java ],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71741749/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com