这里第三行的public不是应该在第二行的class前面吗,搞得半天才看懂

这里第三行的public不是应该在第二行的class前面吗,搞得半天才看懂

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

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

4回答
好帮手慕珊 2020-06-12 14:09:26

同学,你好!public是一个访问修饰符,它既可以放到类前面,也可以放到变量和方法的前面,关于访问修饰符的使用在《Java继承(上)》中会详细介绍。这里先了解它是可以修饰类、变量和方法的就可以了。

因此,对于下面的类的定义,public放到变量name定义前是可以的。class类定义前没有public也是可以的。因为在Java中有一个规定,如果两个类的定义写到了一个文件中,那么只能有一个类用public修饰,而且这个类的类名就是文件名。如果有主方法,那么一般主方法所在的类用public修饰。这道题之所以Person类前面没有public,就是因为两个类写到了一个文件中,主方法所在的类用public修饰并作为文件名了。

http://img1.sycdn.imooc.com//climg/5ee31a3d091ee71603670115.jpg

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

提问者 沧海的腿毛 2020-06-12 13:04:15

有专业的老师能来回答一下吗

好帮手慕阿慧 2020-06-12 10:14:50

同学你好,上面同学的说法是正确的,同学可以参考。祝学习愉快~

苍星乱舞 2020-06-12 02:00:49

为什么?

这里  Person  是默认访问权限

name 是 public 访问权限 

  • 提问者 沧海的腿毛 #1
    那为什么第四行的public在class前面,第三行的的public为什么要在定义姓名的字符串前面
    2020-06-12 13:03:20
  • 苍星乱舞 回复 提问者 沧海的腿毛 #2
    题目认为 字符串需要这样的访问权限 就写了呗 类是不是 public 和里面的属性是不是 public 没有什么关系 另外 因为 public 的类 只能保存在同名的文件中,所以一个文件中只能有一个public的类
    2020-06-12 13:08:48
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

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