构造方法定义问题

构造方法定义问题

问题描述:

前面课程说了,构造方法定义必须与类名相同且没有返回值,那么为什么在下图构造方法的命名不是只有类名呢?这里面的方法public Cat call(String name){}究竟是构造方法还是普通成员call方法呢?

相关截图:

https://img1.sycdn.imooc.com//climg/63adb3b20975a48111520654.jpg

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

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

1回答
好帮手慕小脸 2022-12-30 12:00:27

同学你好,构造方法它的名字必须与它所在的类的名字完全相同,并且不返回任何数据类型。这里理解是没有任何问题的,如:

//无参构造
public Cat() {	
}
//有参构造方法
public Cat(String name) {
  this.setName(name);
}

上述截图中并不符合构造方法的定义,这里是定义了call方法且该方法的返回值类型为Cat类型

祝学习愉快~

  • 提问者 Livel #1

    如果定义的是普通成员call方法,那么方法名字是否定义正确呢?前面见过方法命名规则和变量名一致,采用驼峰法(若是一个单词则全小写,多个单词则首个单词小写后续单词首字母大写),这里的定义的方法名字为什么是Cat call呢?

    2022-12-30 21:15:44
  • 提问者 Livel #2

    我明白了,我理解过来了,public Cat call()中Cat是返回值类型,call是方法名。那么为什么返回值类型是Cat不是关键字class呢?class才代表类,Cat只是我们定义的一个类名啊。

    2022-12-30 21:19:53
  • 好帮手慕小小 回复 提问者 Livel #3

    同学你好,方法的语法格式为:

    访问修饰符    返回类型    方法名(参数列表){
        方法体
    }

    public Cat cat(String name) 中Cat为返回值类型,需直接书写对应的返回类型的类名,cat为方法名。

    class关键字用来定义类,但实际的定义的类名为class关键字后的名称。

    https://img1.sycdn.imooc.com//climg/63b23f34097da4f913520744.jpg

    方法简介课程:https://class.imooc.com/lesson/1596#mid=36268 

    祝学习愉快~

    2023-01-02 10:20:28
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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