免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123下一页
最近访问板块 发新帖
查看: 6376 | 回复: 26
打印 上一主题 下一主题

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

论坛徽章:
2
丑牛
日期:2013-09-29 09:47:222015七夕节徽章
日期:2015-08-21 11:06:17
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-04-23 22:05 |只看该作者 |倒序浏览
看书上说的:
public:允许任何类调用main方法。

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

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

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

void:表示main方法不返回任何值。
这个没问题。

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

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

main 方法是让你从java以外的环境启动java程序的入口函数,就像C/C++也用main作为入口函数一样,当我们从命令行运行 java mypkg.subpkg.MyApp 的时候,jvm 就从这个MyApp的main方法开始执行。

论坛徽章:
0
3 [报告]
发表于 2005-04-24 08:35 |只看该作者

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

main方法和其他的方法不一样,是一个特例。我觉得楼主看的书这么解释main实在是没有必要。

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

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

[quote]原帖由 "sakulagi"]main方法和其他的方法不一样,是一个特例。我觉得楼主看的书这么解释main实在是没有必要。[/quote 发表:

是那个《java语言导学》上面写的,有点糊涂,各位高手请不吝赐教,多谢多谢!

论坛徽章:
0
5 [报告]
发表于 2005-04-24 09:42 |只看该作者

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

楼主是不是一直看这个书?我建议楼主可能的话看一下Java核心技术上下卷,好像网上有电子版。

public和static放在其他的方法上是可以这么解释的。放在main方法上实在是没有必要。这个方法是给JVM用的。不是要其他的类来调用。

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

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

[quote]原帖由 "sakulagi" 发表:
楼主是不是一直看这个书?我建议楼主可能的话看一下Java核心技术上下卷,好像网上有电子版。

public和static放在其他的方法上是可以这么解释的。放在main方法上实在是没有必要。这个方法是给JVM用的。不是要其他

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

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

对于其他的方法而言,static是不是表示这个方法是与这个类相关的,是这个类的class method,它提供的功能是改变那些类变量的,而不是针对这个类的某一个实例的?

论坛徽章:
0
8 [报告]
发表于 2005-04-24 22:18 |只看该作者

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

[quote]原帖由 "剑心通明"]对于其他的方法而言,static是不是表示这个方法是与这个类相关的,是这个类的class method,它提供的功能是改变那些类变量的,而不是针对这个类的某一个实例的?[/quote 发表:
是的。

论坛徽章:
0
9 [报告]
发表于 2005-04-24 22:20 |只看该作者

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

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

这本书不是sun的官方帮助文档翻译过来的吗?
酱紫啊。不过我真的觉得这样解释main实在是有些勉强,其实只是一个约定而已。

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

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

main 是java类里面的一个特殊约定,用main来学习和实践修饰词确实不好。我写了一个简单的测试类,希望有助于你理解这些关键词

  1. public class MyTestClass {
  2.         public void sayHello()
  3.         {
  4.                 System.out.println("hello");
  5.         }
  6.        
  7.         private void sayGoodBye()
  8.         {
  9.                 System.out.println("Good-bye");
  10.         }
  11.        
  12.         public void shoutGoodBye()
  13.         {
  14.                 sayGoodBye();
  15.         }

  16.         public String getOK()
  17.         {
  18.                 String str1 = "OK";
  19.                 return str1;
  20.         }
  21.        
  22.         public static void sayOK()
  23.         {
  24.                 System.out.println("OK");
  25.         }
  26.        
  27.         public static String getHello()
  28.         {
  29.                 String str1 = "Hello";
  30.                 return str1;
  31.         }
  32. }
复制代码


当你使用这个类里面的方法的时候:
所有static的方法不需要用new创建实例就可以用,比如:
MyTestClass.sayOK(); //在屏幕上输出 “OK”
String hello = MyTestClass.getHello(); // hello == "hello"

而不是static 的方法必须要用new实例化以后才能用
MyTestClass mtc = new MyTestClass();
mtc.sayHello(); //输出 "Hello"
mtc.sayGoodBye(); // private 方法不允许从外部调用,这行编译就会报错.
mtc.shoutGoodBye(); //可以从class内部调用private
String str2 = mtc.getOK(); // str2 = "OK"

这样理解吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP