●●●菜鸟初问●●●关于java

slhappyls 2004-04-23 07:36:45
请问:
我一直用c.c++。最近我看了很多java的书,但是我发现里面全是类,类里面有一个static的main不过,c++中都是在外部定义的。虽然static表明对于所有对象都是一个main。但是java为啥不像c++那么在外部定义呢。另外有main的那个类就自己成了一个对象,难道java隐藏了什么咚咚,我知道没有对象只有类怎么行!不理解,请大侠解释
...全文
38 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
BigBangBug 2004-04-24
  • 打赏
  • 举报
回复
sean_gao(大胃) 说的不错,呵呵
kelvinzy 2004-04-24
  • 打赏
  • 举报
回复
i agree with sean_gao:-)
caiyanying732 2004-04-24
  • 打赏
  • 举报
回复
学习
gift2u 2004-04-24
  • 打赏
  • 举报
回复
我觉得static有点类似于c++中的全局变量.
你觉的呢,楼主.
javafaq2004 2004-04-24
  • 打赏
  • 举报
回复
楼上的应该有两颗星才对。
sean_gao 2004-04-24
  • 打赏
  • 举报
回复
献丑说两句:

任何程序都需要入口点吧,要不然怎么执行?就像C/C++的main函数还有Windows下的WinMain,都是约定的程序入口,要编C/C++程序,需要提供main,要用C编Win32应用,需要写WinMain,同样,要编可执行的Java程序,就需要public static void main(String[] args),这些都是约定,我想没什么好多说的。

Java相较C++而言是一种更"纯"的面向对象的设计语言,语法上更严格,所有东西都是对象,所以main这个入口方法也需要包含在类中。Java中不像C/C++有全局变量,也不像C++中先写类结构,再写实现,可以分开来,Java中类声明和实现是写在一起的,说起来这应该是语言差异。

这个main对于"java"命令而言是必需的,执行"java"命令时,必须让它能够看到main,所以一定是public的;必须让它能够独立于对象实体存在,所以一定是static的。

最后说说我的感觉:Java中main这个方法的执行是过程化的而非对象化的,模拟了程序主线程的运行流程,道理很简单,OOP虽好,但不能代替程序运行的全部,因为程序总需要由启动到终止的过程化流程,而流程开始前是没有对象存在的。
slhappyls 2004-04-24
  • 打赏
  • 举报
回复
哦,还有高见么
wyyzyq 2004-04-23
  • 打赏
  • 举报
回复
我要说的和楼上几个差不多,也就不发表意见了。
panpan221 2004-04-23
  • 打赏
  • 举报
回复
同意楼上
ai92 2004-04-23
  • 打赏
  • 举报
回复
在Java中,万物皆对象,所有的东西 都是封装在类里面的
所以main方法也不例外
main是一个入口方法,程序将从这里执行
ai92 2004-04-23
  • 打赏
  • 举报
回复
在Java中,万物皆对象,所有的东西 都是封装在类里面的
所以main方法也不例外
main是一个入口方法,程序将从这里执行
onefox 2004-04-23
  • 打赏
  • 举报
回复
因为 Java 是纯面向对象的语言,所以作为程序入口的 main()

方法也被封装再一个类里面。

其实 static 本身是违反面向对象规则的,

为了体现某些特殊方法和变量的公开性才有必要使用
lnjasmine 2004-04-23
  • 打赏
  • 举报
回复
java中大部分的类都没有main函数,你看java说明文档中的类都没有定义main函数,大部分的有main函数的类只不过要执行一个application,而一个程序的执行只不过必须从main函数开始执行,static修饰的变量或方法在内存中是公开的,可以用类名直接调用。(我的一点点感悟,不一定说的对啊!)

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧