编写info信息获取部门初始化内容两种方式的区别?

编写info信息获取部门初始化内容两种方式的区别?


private String departNo;

private String departName;

//获得部门信息初始化内容方法 1

public String info(Department depart) {

    String str = "部门编号:"+depart.getDepartNo()+"\n部门名称:"+depart.getDepartName();

    return str;

}

public String info() {

    return info(this);

}

//获得部门信息初始化内容方法 2

// public String info() {

//     String str = "部门编号:"+this.departNo+"\n部门名称:"+this.departName;

//     return str;

// }


相关调用方法代码:

Department de1 = new Department("D01", "人事部");
System.out.println(de1.info());

问题描述:

我想知道,上面这两种方法的区别是什么?

尝试过的解决方式:

能理解第1个方法,当de1调用info()方法后,方法体里this代表当前的调用对象,因此de1作为Department对象参数传入info(Department depart)方法,打印输出相关内容。

第2个方法有些不理解,方法体中this.departNo和this.departName代表的是调用当前info()方法对象自身的departNo/departName呢还是指Department类对象自身的属性?二者有什么区别吗?

第2种方法与第1种方法的区别是什么?更推荐使用哪一种方法呢?

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕小尤 2023-08-21 09:50:42

同学你好,1、方法一是根据传递的参数来获取对应的属性的。而方法二是直接根据当前对象获取属性。

2、建议同学使用方法二,在测试类中实例化对象,然后通过该对象调用info方法,在info方法中可以通过调用他的对象来获取对应的属性。

祝学习愉快!

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
计算机基础课
  • 参与学习       236    人
  • 解答问题       154    个

1000位程序员+大厂HR联袂推荐,面向所有程序员的计算机核心知识体系,优惠中~

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师