火从木来 2021-03-29 10:46 采纳率: 33.3%
浏览 208
已采纳

为什么要new对象?明明可以直接全都声明为static直接调用啊

今天看了自己做的学生管理系统,发现自己硬是有面向过程编程的程序,反思后,反问自己,为什么java在编程时要new对象,而不直接用static

  • 写回答

6条回答 默认 最新

  • 三岁丫 2021-03-29 11:04
    关注

    就算你是 static 也是需要 new 的。而且如果把所有的属性都变为 static 的话,会把类让类加载过程变得很慢,让类变得很臃肿。而且你遇到的场景特别的简单,所以可以将全局共享同一个属性,但是如果在并发情况下,如果所有线程共享一个属性,那么就会出问题。

    就比如学生管理系统里面肯定有 Student 的吧,如果你的 Student 中所有的属性都是 static 的话,那么所有的线程都会修改同一个类,就会产生不能预料的结果,所以不是所有的属性都可以设置为 static。

    你能产生这种想法,根本的原因就是业务场景简单、没有思考过并发情况。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(5条)

报告相同问题?