main方法中窥世界
今天我们来看一个编程语言入门必演示的helloworld程序,借此来展示我们的重点知识。话不多说,先看代码。
本段代码在eclipse中编辑运行,怎么在eclipse中新建项目呢:点击左上角file选择new一个project.虽然本例仅仅实现了一个简单的输出helloworld一行字符串的简单功能,但是万丈高楼平地起,一个工程所需要的东西它都有。目录结构如下:
src文件夹中包含有多个包,包里有java源代码文件。为什么要分这么多层呢?主要便于文件组织和管理。把不同类型的文件放在不同的包里,这样便于查找分类。
当你引用别人的类库时,可能会有很多的文件,这时候不是一个文件一个文件导入的,而是把这些文件所在的包导入工程中,方便编程。
同时不同的包可以定义不同的访问权限。主要的就是自己包中类可不可以被别的包里的类访问,以及自己包中类与类之间的访问权限等。
另一个文件jre system library中包含了运行程序所需要的环境源文件,为工程运行提供支持。到以后建立更复杂的工程时,常会使用一些框架。这些时候也会导入一些外部类库,俗称lib库。
接下来我们重点分析例子源代码,记笔记记笔记!
第一行表示文件所在包,第二行public class sample_01.这里定义了一个访问权限为public的类sample_01.这里就可以和上面所述的联系起来了。对于类来说,只有public和默认修饰(即不写)。
public修饰的类可以被别的包访问,默认的类只能被本包中的类访问。以后碰到内部类的时候可以用private修饰,当然这是后话了,你只要知道现在写的源代码文件类是外部类。
为啥外部类不能用private或者protected来修饰呢?这也是一个很有意思的问题哦。如果一个类写成了private的,那么它就不可以被别的类调用了,只能自己玩自己的。那你项目里要这么个玩意有啥用,跟别的类都没有互动。
而protected表示的是受保护的,不能被外部的类重新实例化和调用,所以也不能用来修饰外部类。
第三行写了一个方法,方法名叫main,参数为string[] args,方法为void类型即没有返回值,static表示静态的,而且是public的。学习一门新的语言的第一个程序,都是用来演示语言特性的。
也就是说,是很简单的程序,但是展示出了语言的基本框架。哦,那我知道了。以后写java程序,这个main方法必不可少。对不对?对的。
main方法是程序的唯一入口,不管你写多少的代码,main方法必须写而且 只有一个。而且格式是固定的,不可以改!!!必须写成public static void main(string[] args){}.
static方法一般称作静态方法,由于静态方法不依赖于任何对象就可以进行访问,因此对于静态方法来说,是没有this的,因为它不依附于任何对象,既然都没有对象,就谈不上this了。
并且由于这个特性,在静态方法中不能访问类的非静态成员变量和非静态成员方法,因为非静态成员方法、变量都是必须依赖具体的对象才能够被调用。
那为什么函数类型是void呢?那是因为由于main方法是程序的入口,在程序栈中处于最底层,没有哪个方法能够接受main方法的返回值。
对于函数的参数,必须使用字符串数组string[],变量名随意,但一般都写args即arguments的缩写。由于参数是数组,所以你可以写成string[] args,也可以写成string args[]都可以。
不过两者的意义稍有区别。前者声明了一个字符串数组类型,后者则是一个字符串类型,但这个字符串类型的变量本身是数组。
有了这个参数我们可以通过命令行对main方法进行传参,当然eclipse也可以做,只不过最本质的还是通过命令行。可以自己试一试哦。
第四行输出了一句话helloworld.这里out是一种流对象,表示输出。print后面加ln表示打印换行。后面还会详细介绍io对象,具体的我们就留到以后再说。
由于小编水平有限,如有不足,还请不吝赐教!!!此处也是重点,记下记下。微信搜索关注油墨山公众号,获取更多文章咨询!!!
◆◆油墨未干,为何停下双手!◆◆
上一篇: C#实现向指定文本文件添加内容的方法
下一篇: 冷面汤怎么调更美味,不妨这样做