您的位置:首页 > 编程语言 > Java开发

[1]java:你真的懂你的第一个Hello World程序吗

2016-03-19 16:11 387 查看
有些时候我们觉得我们写的第一个Hello World程序很简单,但是事实好像并不一样,这几天我看书的时候竟然在一个Hello World程序上有很大收获,今天分享一下。

package helloWorld;

import java.util.*;;

public class Hello {
public static void main(String[] args) {
System.out.println("Hello World");
System.out.println(new Date());
}
}


当你看到这个程序的时候,你想到了什么?或许你想不到什么,那么或许你没想到的就是我下面要说的。


你要创建一个java程序

1.名字可见性

这部分涉及程序设计语言的名字管理。假想程序里的某个模块使用了一个名字,而另一个人在这个程序的另一个模块里也使用了相同的名字,怎样区分他们的名字而防止发生冲突呢?于是就有了名字空间的概念,java为了给一个类库生成一个不会与其他名字混淆的名字,java的设计者希望开发者反过来使用自己Internet域名,因为这样是独一无二的,例如一个域名为mindview.net,那么各种工具类库就会命名为net.mindview.util.*,反转域名后,句点就用来代表子目录的划分,java.util.*就是这个道理。


2.运用其他构件improt

如果想在自己的程序里运用预先定义好的类,那么编译器就要知道如何定位他们。当然,如果调用的类就在发出调用的那个源文件里,那么你就可以直接使用这个类(因为你们是一家人),即使这个类在调用语句之后才定义(java消除了类似于c语言中的“向前引用”的问题)
但是如果你要使用的对象类在其他文件中的话怎么办呢,编译器可以还不可以自己找到你所要的类的,那个如何定位呢,于是java就使用关键字import来准确的告诉编译器你要的类是什么,import指示编译器导入一个包,也就是一个类库。


3.static关键字

当类创建的时候,其实你只是描述了这个类的外观(属性)和行为(方法),只有当你new创建这个类的对象时,数据空间才会分配,其方法才能被外界调用。如果只为某一特定函数创建一个方法,而不管要创建多少对象的话怎么办呢,也就是说,即使没有创建对象,也可以调用该方法。
于是,就有可关键字static,当声明一个事物static时,就说明这个事物与任何实例对象没有联系,而只是与你所创建的类有关,就是说即使你没有创建那个类的对象,仍然可以使用类内的方法。


class StaticTest{
static int i=5;
}
StaticTest st1=new  StaticTest();
StaticTest st1=new  StaticTest();

System.out.printf(st1.i+"");
System.out.printf(st2.i+"");
st1.i++;

System.out.printf(st1.i+"");
System.out.printf(st2.i+"");
System.out.printf(StaticTest.i+"");

>>>5 5 6 6 6


st1.i和st2.i的值在st1.i++之后竟然还是一样的这是因为在static定义的事物实际上指向的是同一个内存区域,所以他们的值就是一样的了。在定义方法的时候道理是一样的了,使用static方法的时候根本不需要事先实例化一个对象。
经过上面的分析之后,也许你就已经知道了为什么main方法用static关键字了。

这样,你懂了你的第一个Hello World程序了么。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息