社区
Java SE
帖子详情
为什么java里的main在类里啊?
gbz198831c
2008-02-02 06:31:35
是java就这么定义的吗这样理解?
...全文
522
22
打赏
收藏
为什么java里的main在类里啊?
是java就这么定义的吗这样理解?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
22 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
nwsl
2008-02-04
打赏
举报
回复
main函数用来测试那个类写得对不对,所以写在里面比较方便,不然用来测试多少个类呀?
coolhty
2008-02-03
打赏
举报
回复
如果你可以修改JDK...让它不给你报个错,也行..写在外面就写在外面..
mu_yang
2008-02-03
打赏
举报
回复
理论上来说
main() 应该是超然于类的
但在现实中却必须寄"类"篱下
原因只有一个
java把一切都看成了对象
要求代码必须以类为基本单元
mu_yang
2008-02-03
打赏
举报
回复
"每个单独的类自己带一个main用来测试,不影响正常运行"
bloodrate 的这个观点我比较赞同
这似乎是能容忍将main()写在类内部的唯一的理由
为了表明彻底的OO
java把一切都看成了对象
但是
通常对象是由别的对象创造之后才能活动的
这样就产生了一个悖论
顶层的对象如何被创造并自举?
这是一个无解的哲学问题
很让人无奈
牛顿在这种情况下狡辩说
"上帝踢了它一脚"
James Gosling的办法是
蹩脚地容许给类添加上一个main()
main()是对象的"第一推动力"
或者是"第一推动力"的电源插座
ewinman
2008-02-03
打赏
举报
回复
MAIN一般是在做应用程序时的一个入口
如果没有MAIN
就等同于我们启动程序找不到链接
虽然程序是好的
但启动不了
但在JSEE中就可以不用它了
bloodrate
2008-02-03
打赏
举报
回复
我刚接触JAVA的时候也不能理解这个,但是因为JAVA里万物都是类,没有类以外的空间,所以想写main函数只能写在类里,我觉得一个更好的策略就是把main单做成一个类,然后通过一些通用方法运行程序,因为如果类多了,总觉得把main放在哪个类里都不合适,main和任何类都没有归属关系,所以设计的时候是不是可以考虑单做出一个执行类,只用里面的main函数调用外面所有类?
话说回来,main函数在类里又有其他的好处:方便测试,通常写完一个类就要测试一下好不好用,再写下一个,这个类可能不能单独运行,需要别人调用运行,如果main在一个统一的得地方的话,只能在那个地方测试这个类,然后正式运行的时候注释掉,这样看起来非常乱,每个单独的类自己带一个main用来测试,不影响正常运行,也不用注释任何代码,很方便的说。
mu_yang
2008-02-03
打赏
举报
回复
main() 不是 类 的手指
最多是手套
甚至可能连手套都算不上
CoderPlusPlus
2008-02-03
打赏
举报
回复
恩,每个类都可以有main方便单元测试
mu_yang
2008-02-03
打赏
举报
回复
把main函数定义成静态是因为它必须是全局的
本质上来说
main()既不属于类
也和类无关
ninesea
2008-02-03
打赏
举报
回复
说java里一切皆类 我不觉得
为什么要把main函数定义成静态的呢 说明类的还不够完全 完全可以有个main类 然后从main类里的第一个函数开始执行程序
mu_yang
2008-02-03
打赏
举报
回复
什么叫"深层次"啊?
ailiban123
2008-02-03
打赏
举报
回复
大家能不能在深层次介绍一下呀?
巴巴爸爸巴巴爸爸
2008-02-03
打赏
举报
回复
你说人一只手上为啥要有五只手指呢?
libodls
2008-02-03
打赏
举报
回复
本若理解:发明java的人完全可以把main设计为abc,并且写在类的外面。
但是之所以是现在的样子固然有它的好处,楼上的都说过了,呵呵。
边城狂人
2008-02-02
打赏
举报
回复
为什么main是在类里?因为Java的语法就是这么规定的。
Java语法规定任何一个方法都必须在类里,main也不例外。
Java同时还规定,用java ClassName来运行一个类中的main函数,而且这个main函数必须是被申明为
public static void main(String[])的,它可以是final的也可以不是,但必须是public,静态、返回void,且接收String数组参数的。
mu_yang
2008-02-02
打赏
举报
回复
因为Java强调万物都是神圣类
由于过于强调类的神圣性
但最后发现类还必须食用人间烟火
所以最后只能生硬地给类装上这么个不伦不类的人造入口
实际上main()和类基本没什么关系
hitzsf
2008-02-02
打赏
举报
回复
main是一个建筑的入口 呵呵
大门当然就属于一个建筑了
healer_kx
2008-02-02
打赏
举报
回复
C#的main也是在类内的,这些靠着OO走红的语言都是这个德行的。而实际上这个方法和这个类可能都没有关系。
牵强附会的最好诠释。
dave080
2008-02-02
打赏
举报
回复
2楼说的是!
桃子
2008-02-02
打赏
举报
回复
面向对象的思维,一切皆为类...所以一切都要放在类里面
C那个是半面向过程半面向对象的
我们老师曾开玩笑说
c++只有70%面向对象
java有90%
加载更多回复(2)
java
main
()方法必须都写在类
里
面
main
()方法必须都写在类
里
面,在
Java
中,
main
()方法是
Java
应用程序的入口方法,也就是说,程序在运行的时候,第一个执行的方法就是
main
()方法,这个方法和其他的方 法有很大的不同,比如方法的名字必须是
main
,方法...
java
中类的
main
方法总结
甚至所有类
里
可以都没有
main
方法。如果你想从某个类做为入口开始运行整个程序。那么就把他设成 public ,之后再
里
面写个
main
方法作为入口。 每个项目都要有一个主类,这个主类中必须得有
main
,用于程序的入口.在程序...
java
中
main
为什么在类名中?
在
Java
中,
main
()方法是
Java
应用程序的入口方法,也就是说,程序在运行的时候,第一个执行的方法就是
main
()方法,这个方法和其他的方 法有很大的不同,比如方法的名字必须是
main
,方法必须是public static void 类型...
Java
不用
main
方法运行_如何在不定义
main
方法的情况下运行
Java
程序?
我正在查看一些
Java
源代码,并注意到
main
方法没有定义...编译代码时,通常在命令行中指定一组文件,例如
java
c MyClass1.
java
MyClass2.
java
Java
编译器(
java
c)检查传递给它的每个类,并将其编译为.class文件。
Java
源...
java
中
main
函数定义详解
Java
虚拟机需要调用类的
main
()方法,所以该方法的访问权限必须是public (因为调用的时候
java
虚拟机和
main
方法不在同一个类下如果不设置为public则没有访问权限则
java
虚拟机不能运行该函数访问修饰符) 为什么要使用...
Java SE
62,616
社区成员
307,307
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章