为什么Java和C#将main函数放在类中?

时间:2015-02-06 09:49:13

标签: java c# oop

我不明白将main函数放在类中的重点是什么!难道他们可以说Java和C#是完全面向对象的吗?

4 个答案:

答案 0 :(得分:3)

static方法不是OOP所以这没什么意义。

Java要求所有代码都在类中,即在类文件中。如果你不这样做,你必须把它放在某个地方,你不会通过对main做例外来获得更多。最好保持简单。

  

我不明白将main函数放在类中的重点是什么!

不要问“为什么不做某事”,最好问“为什么做某事”,如果没有很好的理由,通常最好不要这样做。

答案 1 :(得分:3)

他们这样做是为了简单起见。如果允许main函数在一个类之外,那么该语言必须支持一个全新的机制来声明类之外的函数。目前还没有这样的机制,坦率地说,这完全没有必要。通过不在语言中添加不必要的东西,他们保持语言简单。

答案 2 :(得分:0)

类中 main 背后的答案在“进程和线程”主题中。

阅读Oracle's Processes and Threads以更好地了解该主题。

这个想法是你的类需要一个线程来运行。您的课程是您的申请的一部分。每个应用程序都需要一个Process和至少一个Thread来运行。默认情况下,使用线程,这意味着您的所有班级'默认情况下,代码在 main 线程内运行。

答案 3 :(得分:0)

这两种语言都是在考虑面向对象的情况下创建的,没有任何向后兼容的包袱(例如,与c ++不同,它也被认为是面向对象的,但它与c的向后兼容性强制它允许自由方法,方法的概念)在任何类之外定义,并且它的名字暗示它的所有构建块都基于一个对象。