Re: [问题] JAVA创立物件与方法回传值问题

楼主: PsMonkey (痞子军团团长)   2014-05-10 14:47:05
※ 引述《iammarsman ( )》之铭言:
: new TestServerClass(); // 没有宣告物件承接新物件
: testServerClass.secondTestMethod(); // 没有变量承接回传值
: 以上两段程式都没有出现编译错误且可以正常执行,
^^^^^^^^^^^^^^^^^^^^^^^^^^
: 想请问一下这些都是java中所允许的情形吗?
如果你说的“Java”是单纯的“Java 语言规格”
那这个问题,我觉得是自问自答啦 XD
不允许却可以正常执行,这是黑魔法吧? lol
: 在什么情况下会使用上面两种撰写方式呢?
: 恳请赐教, 感激不尽!
你的问题都十分... 微妙
我甚至都不知道该怎么认真回答而不被怀疑是在酸人
(谜之声:那是因为你太爱酸人 [指])
基本上我会把你的问题归类为政策面的问题
也就是语言规范 / 语法允许你这么作
没有可不可以的问题,而是适不适合这么作的问题
也就会变成青菜萝卜各有所好、各说各话的状况
(就像我不懂为什么有人喜欢 dynamic type language [完全离题])
new 一个 instance 但是却不 assign 给任何变量
这种情况比较少见
甚至可能在某些人的 coding style 中是错误 / 坏味道的来源
因为理论上应该 / 可以改用 static method 来取代...?
至于呼叫一个 method,明明有回传值但是却不 assign 给任何变量
这个状况基本上很常见,甚至你已经用了一堆只是你不知道 XD
尤其是在有设计 exception 的情况下
很多时候你不 care 回传值、你比较在意炸了什么 exception
我个人最常用的就是 ArrayList.add()
我甚至不知道为什么它要有回传值
source code 当中永远回传 true
只能说 Collection.add() 当初设计时应该有其他考量 XD
作者: tails32100 (Tails)   2014-05-10 14:55:00
ArrayList是因为add()实际上是实作Collection接口吧..应该是其他实作可能会有add失败的可能?刚查过,像Set如果有相同元素就会false了XD

Links booklink

Contact Us: admin [ a t ] ucptt.com