《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!
相关文章推荐
- THE Java™ Programming Language, Fourth Edition
- 读THE Java™ Programming Language, Fourth Edition有感
- Java Thread Programming 1.1 - Introduction to Threads
- 《The C++ programming language》读书笔记(1)——第一章:致读者
- Effective Java: programming language guide
- Java as a Scientific Programming Language
- The Java Programming Language
- Code Conventions for the Java Programming Language
- 《The C Programming Language》读书笔记4
- CODEBASE for the Java™ Programming Language
- Java as a Scientific Programming Language
- 《The C++ programming language》读书笔记(2)——第二章:C++ 概览
- The Java Programming Language Notes
- 《The C Programming Language》读书笔记1
- The C++ Programming Language 读书笔记 ch13
- 《The C Programming Language》读书笔记 说明
- 看了Code Conventions for the JavaTM Programming Language后自己总结一下,提醒自己
- The C++ Programming Language 读书笔记 ch12(1)
- 《The C Programming Language》读书笔记2
- Generics in the Java Programming Language Java