【讨论】Java的关键字new为什么不取消呢?
Java初学,这种问题贻笑大方了,还请各位大侠不吝指教。
我学的还不深,似乎Java 所有的对象定义都使用,诸如 Myclass mc=new Myclass()的语句,相当开辟了一片内存,同时返回了指向这片内存的指针(Java喜欢说是句柄,引用)。
既然所有的定义,都这么干,那作为一个语种,就把new关键字取消好了,这种事情让编译器自己知道不就可以了?为什么还要有这个关键字呢?
[解决办法]
用spring吧。IOC控制反转。spring工厂自动帮你创建
[解决办法]
楼主naive啊
如下代码:
public class Test { public Test() { System.out.println("const"); } public static Test Test() { System.out.println("normal method"); return new Test(); } public static void main(String[] args) { Test t = new Test(); }}
[解决办法]
LZ,记住一句话,入乡随俗。没必要纠结,否则大家还会讨论为什么不取消C++的delete,还有把VB.NET的IF THEN ... END IF统一成C语言风格...这样没完没了的问题
把我在前两天其他帖子里面的话再概括一遍:
不是说java的思维方式(或者编码方式)就是正确的,就是最好的。
这就好比,中文习惯说“我认为这个不...”,而英文一般习惯说“I don't think ...”。没谁对,谁错,完全是习惯问题。
建议在学习java或者其他语言(包括人类/编程语言)的时候,也按照这种入乡随俗的方式thinking in ...
之所以要入乡随俗,就是因为大家都是这么思考,包括Java语法的制定者,JDK或者其他类库、框架的编写者,也包括你的同事,都是以同样一种思维方式(或许是好的或许是不好的,who cares)在工作,你只有融入他们,才能事半功倍,否则,多半是撞了南墙还一事无成。
编程语言如是,人类语言亦如是。
[解决办法]