许多java入门书都喜欢只写一句话"System.out.println("Hello world!");"来引导初学者入门,但本人觉得这样做有点不妥.
java 做为一种面向对象的语言应当以面向对象的思维来引导初学者,而不是以面向过程来引导他们.
以下是本人写的一个hello world, 希望能与诸位java友共同学习.
==========================================================================
第一个JAVA程序"Hello World"
(The first java program)
Author : FoxMX
一个最简单的JAVA程序。这个程序中诞生了世界上的某个人Tom,他说了一句话:Hello World!
//Written by FoxMX
class Human{
public void say(){
System.out.println("Hello world!");
}
public static void main(String[] args){
Human Tom = new Human();
Tom.say();
}
}
这个Human类中包括了两个函数(也可叫方法):say()和 main() 。 一个良好的意识是,不要把main()看作某个类中的方法。因为它除了表明整个程序从这里开始之外并没有什么实际意义。我们可以认为这个Human类有一个行为:say()。要调用这个方法就必须建立一个Human的实例,也可以叫对象。在OOP中,类的实例和对象是一样的意思。
修饰词public表示这个方法到处可用,只要引入它所在的类即可。现在让我们来看一下static关键字。如果你把某个数据成员或函数声明为 static ,它就是个静态变量或函数。静态,意味着即使没有产生实例,这个函数或变量一样可以调用。
另外一点一定要记住:在静态函数内绝对不能直接访问该函数外的非静态成员或函数!而必须通过访问其对应的对象来访问。就如上面例子中,要访问say(),就必须先建立对象tom,然后才能调用say()。要么我们干脆这样定义:public static void say()。这样的话,main()就可以这样写:
public static void main(String[] args){
say();
}
也许你会认为static不太符合面向对象的思想。是的,不要在你的程序中放得太多static。但它仍具有存在的价值,至少现阶段我们还用得着它。
Out是System的子类PrintStream的一个静态对象。它是静态的,所以不必建立实际对象就可以调用。而println()是指:打印并换行。