今天看了自己做的学生管理系统,发现自己硬是有面向过程编程的程序,反思后,反问自己,为什么java在编程时要new对象,而不直接用static
6条回答 默认 最新
三岁丫 2021-03-29 11:04关注就算你是 static 也是需要 new 的。而且如果把所有的属性都变为 static 的话,会把类让类加载过程变得很慢,让类变得很臃肿。而且你遇到的场景特别的简单,所以可以将全局共享同一个属性,但是如果在并发情况下,如果所有线程共享一个属性,那么就会出问题。
就比如学生管理系统里面肯定有 Student 的吧,如果你的 Student 中所有的属性都是 static 的话,那么所有的线程都会修改同一个类,就会产生不能预料的结果,所以不是所有的属性都可以设置为 static。
你能产生这种想法,根本的原因就是业务场景简单、没有思考过并发情况。
本回答被题主选为最佳回答 , 对您是否有帮助呢?评论 打赏 举报解决 1无用