《Java™ Programming Language, Fourth Edition》读书笔记-1.1
来源:互联网 发布:手机恶作剧软件小狗 编辑:程序博客网 时间:2024/06/06 06:29
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!
- 《Java™ Programming Language, Fourth Edition》读书笔记-1.1
- THE Java™ Programming Language, Fourth Edition
- 读THE Java™ Programming Language, Fourth Edition有感
- UNIX Shells by Example(Fourth Edition)读书笔记
- Think in Java (Fourth Edition) 读书笔记 ---- 第1章 对象导论
- Assembly Language for Intel-Based Computers Fourth Edition
- Beginning Linux Programming, Fourth Edition (Paperback), Nov.2007.eBook-BBL
- 《Thinking in Java》Fourth Edition中文版笔记
- Thinking in Java(Fourth Edition)2.11
- The Java™ Language Specification, Third Edition
- 读书笔记-The Java Programming language(0)
- 读书笔记-The Java Programming Language(1)
- C++ Programming Language, The (3rd Edition)
- The C# Programming Language (3rd Edition)
- The C programming Language Second Edition
- <The C++ Programming Language> 读书笔记
- 《The C++ Programming Language》读书笔记
- 《The programming language Swift》读书笔记
- 重装系统之深入了解
- 【POJ3680】【离散化+费用流 思维】 Intervals 区间图的最大权问题
- php验证码
- 正整数的和
- Virtualbox虚拟机下挂载linux共享文件夹
- 《Java™ Programming Language, Fourth Edition》读书笔记-1.1
- UVa 12558 Egyptian Fractions (HARD version)--迭代加深搜索
- HP ilo使用
- 放在res/anim中的文件(持续更新)
- Perform巡回演出
- C51 实现动态内存分配
- 线程
- 怎么删除github上的仓库
- 在res/raw中的文件