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

《Java™ Programming Language, Fourth Edition》读书笔记-1.1

2016-09-16 21:28 302 查看

1.1. Getting Started

首先是开宗明义地介绍基本术语和概念:

1、java程序由class构成,class包含成员成员分为字段方法字段表示对象或class的状态,方法是操作字段(状态)的语句集合。语句定义了class的行为:赋值、求值、调用方法、控制执行流。

2、对象是class的实例。若把对象比作零件,class就是工厂。(我觉得应该把虚拟机当作工厂,class当做零件设计图和制造说明?)

然后是HelloWorld,通过它介绍class、方法、语句的写法:

class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, world");
}
}


范例中使用默认包的好处,还在于不用写类似下面的编译和执行语句,让初学者疑惑

javac com\sun\java\docs\tjpl\package\HelloWorld.java

java com.sun.java.docs.tjpl.package.HelloWorld

这里有两点引起了注意:

1、和c不同,java的main函数不需要返回值,也许是java设计者认为,程序返回一个整数给运行环境的设计太low了?

2、HelloWorld类没有public修饰符,说明它仅是包内可见。但这不能阻止虚拟机调用它的main方法,它也能作为MANIFEST.MF文件中的Main-Class。

这样看来,内部类不管是否private,应该也能用它的main方法作为程序的主方法,不过实际上应该没人这么写。

而且java8支持接口定义静态方法,那么接口也能作为Main-Class了。(有空试试)

balu ~ $ cat Test.java

interface Test

{

        public static void main(String[] args)

        {

                System.out.println("hello,world!");

        }

}

balu ~ $ java -version

java version "1.7.0_80"

Java(TM) SE Runtime Environment (build 1.7.0_80-b15)

Java HotSpot(TM) Server VM (build 24.80-b11, mixed mode)

balu~ $ javac Test.java

Test.java:4: error: modifier static not allowed here

        public static void main(String[] args)

                           ^

Test.java:5: error: interface methods cannot have body

        {

        ^

2 errors

balu~ $

balu ~ $ sudo update-java-alternatives -s java-8-oracle

balu ~ $ java -version

java version "1.8.0_111"

Java(TM) SE Runtime Environment (build 1.8.0_111-b14)

Java HotSpot(TM) Server VM (build 25.111-b14, mixed mode)

balu@balu-VGN-CR31-P ~ $ javac Test.java

balu@balu-VGN-CR31-P ~ $ java Test

hello,world!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: