一个JAVA类和对象的题

fly0 2020-11-03 09:11:45
求解决!
...全文
2427 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
肖肖爱吃糖 2020-11-04
  • 打赏
  • 举报
回复
引用 6 楼 qq_51778694的回复:
[quote=引用 5 楼 文理肖瑜的回复:][quote=引用 3 楼 qq_51778694的回复:][quote=引用 1 楼 qybao的回复:]这是不修改类的前提要求正确打印吗? 那就把 myCircle.radius 改成 Math.sqrt(myCircle.getArea()/Math.PI); //通过面积求半径
如果按照题中的代码执行,不会报错吧[/quote] 会报错的,因为前面已经把radius的内容封装了,后面需要通过getArea()来访问radius的值,不能直接用图中的my......[/quote] 在自己的类中可以访问自己的私有变量吧,在其他类中不可以访问。[/quote] private 声明的属性或方法只能在其类的内部被调用,而不能在类的外部被调用,简单的说就是在类的外部不能用对象去调用 private声明的属性或方法。 这个程序通过加入getArea()方法,用来取得类中
的私有属性。
你说的也是对的,但是你忽略了,内部类是可以访问,但是my....不能直接访问radius的值,而是要通过getArea()方法来获取circle类中的radius值。
qybao 2020-11-04
  • 打赏
  • 举报
回复
引用 2 楼 qq_51778694 的回复:
[quote=引用 1 楼 qybao的回复:]这是不修改类的前提要求正确打印吗? 那就把 myCircle.radius 改成 Math.sqrt(myCircle.getArea()/Math.PI); //通过面积求半径
如果不修改的话会出现错误吗,我认为不会啊,但是这题的意思是会出现错误的。[/quote]private是不能访问的,除非你提供一个public接口访问private属性
fly0 2020-11-04
  • 打赏
  • 举报
回复
引用 5 楼 文理肖瑜的回复:
[quote=引用 3 楼 qq_51778694的回复:][quote=引用 1 楼 qybao的回复:]这是不修改类的前提要求正确打印吗? 那就把 myCircle.radius 改成 Math.sqrt(myCircle.getArea()/Math.PI); //通过面积求半径
如果按照题中的代码执行,不会报错吧[/quote] 会报错的,因为前面已经把radius的内容封装了,后面需要通过getArea()来访问radius的值,不能直接用图中的my......[/quote] 在自己的类中可以访问自己的私有变量吧,在其他类中不可以访问。
肖肖爱吃糖 2020-11-04
  • 打赏
  • 举报
回复
引用 3 楼 qq_51778694的回复:
[quote=引用 1 楼 qybao的回复:]这是不修改类的前提要求正确打印吗? 那就把 myCircle.radius 改成 Math.sqrt(myCircle.getArea()/Math.PI); //通过面积求半径
如果按照题中的代码执行,不会报错吧[/quote] 会报错的,因为前面已经把radius的内容封装了,后面需要通过getArea()来访问radius的值,不能直接用图中的my......
肖肖爱吃糖 2020-11-04
  • 打赏
  • 举报
回复
会出错,因为前面radius的内容已经被封装了,所以只能通过getArea()来访问radius的值
fly0 2020-11-04
  • 打赏
  • 举报
回复
引用 1 楼 qybao的回复:
这是不修改类的前提要求正确打印吗? 那就把 myCircle.radius 改成 Math.sqrt(myCircle.getArea()/Math.PI); //通过面积求半径
如果按照题中的代码执行,不会报错吧
fly0 2020-11-04
  • 打赏
  • 举报
回复
引用 1 楼 qybao的回复:
这是不修改类的前提要求正确打印吗? 那就把 myCircle.radius 改成 Math.sqrt(myCircle.getArea()/Math.PI); //通过面积求半径
如果不修改的话会出现错误吗,我认为不会啊,但是这题的意思是会出现错误的。
qybao 2020-11-04
  • 打赏
  • 举报
回复
这是不修改类的前提要求正确打印吗? 那就把 myCircle.radius 改成 Math.sqrt(myCircle.getArea()/Math.PI); //通过面积求半径
fly0 2020-11-04
  • 打赏
  • 举报
回复
引用 11 楼 老王就是我的回复:
治好了我多年的颈椎病
哈哈哈哈哈哈
老王就是我 2020-11-04
  • 打赏
  • 举报
回复
治好了我多年的颈椎病
命运拐点 2020-11-04
  • 打赏
  • 举报
回复
这是不修改类的前提要求正确打印吗? 那就把 myCircle.radius 改成 Math.sqrt(myCircle.getArea()/Math.PI); //通过面积求半径
qq_39936465 2020-11-04
  • 打赏
  • 举报
回复
引用 楼主 qq_51778694 的回复:
求解决!
本类中myCircle.radius可以用,但是在其他类中生成Circle的实例类,是无法直接调用radius。

62,628

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧