免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: 剑心通明
打印 上一主题 下一主题

public static void main(String[] args)的几个疑问 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2005-04-25 09:37 |只看该作者

public static void main(String[] args)的几个疑问

原帖由 "剑心通明" 发表:
看书上说的:
看书上说的:
public:允许任何类调用main方法。

其他类如何调用?***.main(****)这样吗?main方法不都是一个类所必须的一个方法吗?

static:表示main方法与HelloWorldApp类相关联,而不是在这个类的一个实例上进行操作。

这句话怎么理解,有点不明白啊。


楼主:以下是我的解释,关于 public ,是这样的:它能不能被其他自己定义的类,我不知道,没事过,你可以试试,至于为什么用public,因为,只有用public,他才是完全可见的,这样才可以被jvm方便的调用。

再就是 static:因为只有使用static才可以不用创建实例就可以调用该方法。因为,main方法是入口,也就是说,jvm要执行,就必须从 main方法开始,那么,他也是没有办法在使用main方法,就已经创建好了实例。

所以,我觉得,他不只是一种约定,他有自己的道理,这样做的目的就是让他符合作为入口的身份,另一方面就是方便jvm调用。

我是这样理解的
不知道对楼主有没有帮助。
呵呵

论坛徽章:
2
丑牛
日期:2013-09-29 09:47:222015七夕节徽章
日期:2015-08-21 11:06:17
12 [报告]
发表于 2005-04-25 11:05 |只看该作者

public static void main(String[] args)的几个疑问

[quote]原帖由 "白色乌鸦" 发表:


楼主:以下是我的解释,关于 public ,是这样的:它能不能被其他自己定义的类,我不知道,没事过,你可以试试,至于为什么用public,因为,只有用public,他才是完全可见的,这样才可以被jvm方便的调用。

再就

论坛徽章:
0
13 [报告]
发表于 2005-04-25 15:13 |只看该作者

public static void main(String[] args)的几个疑问

原帖由 "剑心通明" 发表:

嗯,有点明白了,谢谢!我得好好想想




我也不敢确定我的想法是正确的,

如果有虾米疑问,拿出来讨论哈。

呵呵

论坛徽章:
2
丑牛
日期:2013-09-29 09:47:222015七夕节徽章
日期:2015-08-21 11:06:17
14 [报告]
发表于 2005-04-26 15:24 |只看该作者

public static void main(String[] args)的几个疑问

原帖由 "perryhg" 发表:

mtc.sayGoodBye(); // private 方法不允许从外部调用,这行编译就会报错.

不对吧?我怎么编译通过了,执行也对啊?

论坛徽章:
0
15 [报告]
发表于 2005-04-26 15:36 |只看该作者

public static void main(String[] args)的几个疑问

原帖由 "剑心通明" 发表:

不对吧?我怎么编译通过了,执行也对啊?

private 是该类可见的,

你一定是在 该类main方法中创建对象,调用该方法的把?

论坛徽章:
2
丑牛
日期:2013-09-29 09:47:222015七夕节徽章
日期:2015-08-21 11:06:17
16 [报告]
发表于 2005-04-26 16:19 |只看该作者

public static void main(String[] args)的几个疑问

是啊,怎么从另外一个类里面调用?小弟只会写很简单的程序,大哥教一下吧,谢谢!

论坛徽章:
0
17 [报告]
发表于 2005-04-26 16:38 |只看该作者

public static void main(String[] args)的几个疑问

呵呵,你再类似创建一个含main的类,从该类中调用上面样例中的类的一些方法试试

论坛徽章:
0
18 [报告]
发表于 2005-04-26 16:54 |只看该作者

public static void main(String[] args)的几个疑问

[quote]原帖由 "剑心通明"]是啊,怎么从另外一个类里面调用?小弟只会写很简单的程序,大哥教一下吧,谢谢![/quote 发表:


不好意思刚刚看到,

呵呵,
大雪飞扬 已经说了
呵呵

是这样的

就是你再创一个类,再该类中,创建例子中的类对象,然后,你怎样都无法调用到private方法。

呵呵

不知道你明白了没有,这就是说 private的方法只能在该类中可见,在其他的任何类中都不可见,无法调用。

论坛徽章:
2
丑牛
日期:2013-09-29 09:47:222015七夕节徽章
日期:2015-08-21 11:06:17
19 [报告]
发表于 2005-04-26 17:01 |只看该作者

public static void main(String[] args)的几个疑问

呵呵,我刚才自己胡乱试出来了

论坛徽章:
2
丑牛
日期:2013-09-29 09:47:222015七夕节徽章
日期:2015-08-21 11:06:17
20 [报告]
发表于 2005-04-26 17:02 |只看该作者

public static void main(String[] args)的几个疑问

D:\mine>;javac MyTestClass1.java
MyTestClass1.java:5: sayGoodBye() has private access in MyTestClass
          mtc.sayGoodBye();
             ^
1 error

D:\mine>;javac MyTestClass1.java

D:\mine>;java MyTestClass1
Good-bye
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP