2.1创建Java源文件

Java应用由一个或多个扩展名为".java"的文件构成,这些文件被称为Java源文件,从编译的角度,则被称为编译单元.

本章包含两个Java源文件:Doll.java和AppMain.java,下例是他们的代码.

2.1.1  Java源文件结构

一个Java应用包含一个或多个Java源文件,每个Java源文件只能包含下列内容(空格和注释除外):

①零个或一个包声明语句

②零个或多个包引入语句

③零个或多个类的声明

④零个或多个接口声明

每个Java源文件可包含多个类或接口的定义,但是至多只有一个类或者接口是public的,而且Java源文件必须以其中public类型的类的名字命名.

2.1.2  包声明语句

包声明语句用于把Java类放到特定的包中,最多只能有一个package语句,但package语句不是必需的.如果没有提供package语句,就表明Java类位于默认包中,默认包没有名字.

package语句必须位于Java源文件的第一行.

1.包的作用:

①能够区分名字相同的类.

②有助于实施访问权限控制.

③有助于划分和组织Java应用中的各个类.

2.包的命名规范

包的名字通常采用小写.

3.JDK提供的Java基本包

主要包括:

①java.lang包——包含线程类、异常类、系统类、整数类和字符串类.

②java.awt包——抽象窗口工具箱包

③java.io包——输入/输出包,包含各种输入流类和输出流类.

④java.util包——提供一些实用类.

⑤java.net包——支持TCP/IP网络协议

JDK的所有包中的类构成了Java 类库,或者叫做J2SE API.用户创建的java应用程序都依赖于J2SE API.

2.1.3  包引入语句

如果一个类访问了来自另一个包中的类,那么前者必须通过import语句把这个类引入.

关于包的引入,需要注意:

①如果一个类同时引入两个来自于不同包同名类,在程序中必须通过类的完整类名来区分这两个类.

②尽管包名中的符号"."能够体现各个包之间的层次结构,但是每个包都是独立的,顶层包不会包含子包中的类.

③package和import语句的顺序是固定的,在Java源文件中,package语句必须位于第一行,其次是import语句,接着是类或接口的声明.

2.1.4  方法的声明

在Java语言中,每个方法都属于特定的类,方法的声明必须位于类的声明中,声明方法的格式为:

返回值类型  方法名(参数列表){
方法主体
}

方法名是任意合法的标识符.参数列表可包含零个或多个参数,参数之间以逗号","分开.

return语句必须返回相应类型的数据.

return语句有两个作用:

①结束执行本方法

②向本方法的调用者返回数据.

2.1.5  程序入口main()方法的声明

main()方法是Java应用程序的入口点每个Java应用程序都是从main()方法开始运行的,必须符合4个条件

①访问限制:public

②静态方法:static

③参数限制:main(String[] args)

④返回类型:void

以下都能作为程序入口方法

由于static修饰的方法默认都是final类型的,所以在main()方法前加上final修饰符也是可以的

2.1.8  关键字

Java语言的关键字是程序代码中的特殊字符

Java语句的关键字包括:

⑴用于类和接口的声明——class,extends,implements,interface

⑵包引入和包声明——import,package

⑶数据类型——boolean,byte,char,double,float,int,long,short

⑷某些数据类型的可选值——false,true,null

⑸流程控制——break,case,continue,default,do,else,for,if,return,switch,while

⑹异常处理——catch,finally,throw,throws,try

⑺修饰符——abstract,final,native,private,protected,public,static,synchronized.trnasient,volatile

⑻操作符——instanceof

⑼创建对象——new

⑽引用——this,super

⑾方法返回类型——void

Java语言的保留字包括:const和goto

使用Java语言的关键字,需注意:

编程规范如下:

2.2 用JDK管理Java应用

JDK主要包括以下内容:

●Java 虚拟机:负责解析和执行Java.

2.2.3  运行Java程序

java命令用于运行Java程序,它会启动Java虚拟机,Java虚拟机加载相关的类,然后调用主程序类的main()方法.

2.3  JavaDoc文档

javadoc文档的地址为:

2.4Java虚拟机的运行时数据区

阅读小结:

读者应掌握这些内容:

读Java面向对象编程(孙卫琴)的更多相关文章

  1. Java面向对象编程基础

    一.Java面向对象编程基础 1.什么是对象?Object 什么都是对象! 只要是客观存在的具体事物,都是对象(汽车.小强.事件.任务.按钮.字体) 2.为什么需要面向对象? 面向对象能够像分析现实生 ...

  2. java 面向对象编程。。。。

    经过一周的学习(java),总结了许多,对java的理解,java的类型,运用,安装,基础语法,变量,常量,表达式,语句 java从C语言中继承了大量语言特性.java面向对象编程的基本特征,包括继承 ...

  3. 《Java面向对象编程》

    <Java面向对象编程> 第11章 对象的生命周期 11.1  创建对象的方式 用new语句创建对象 运用反射手段,调用java.lang.Class 或者 java.lang.Const ...

  4. JAVA面向对象编程课程设计——网络版单机斗地主

    一.团队介绍 成员姓名 任务分配 成员课程设计博客链接 兰泽祥(组长) 数据库,斗地主规则的实现,人机自动出牌的算法,实体类的设计 JAVA面向对象编程课程设计--web版斗地主 吴修恩 JSP界面的 ...

  5. JAVA面向对象编程课程设计——web版斗地主

    一.团队课程设计博客链接 JAVA面向对象编程课程设计--网络版单机斗地主 二.个人负责模块或任务说明 实体类的设计 斗地主规则的实现 人机自动出牌的算法 实现数据库的DAO模式 三.自己的代码提交记 ...

  6. java面向对象编程知识点总结

    一:今天完成 上午详细了解了java面向对象编程的一些细节,记录如下. 1)类 是一种引用类型,包含一个签名和一个主体,主体是放在花括号里面的成员,成员包括字段和方法,还有构造方法.初始化程序和嵌套类 ...

  7. Java面向对象编程(一)

    由于常常将Java和C++面向对象编程的原则搞乱,所以这次把相关要点分别总结一下,本文主要总结Java面向对象编程. 面向对象编程的三大特性是:继承性(inheritance), 多态性(polymo ...

  8. JAVA学习(五):Java面向对象编程基础

    Java面向对象编程基础 面向对象(Object oriented programming,OOP)技术是一种强有力的软件开发方法,它採用数据抽象与信息隐藏技术,来使软件开发简单化,以达到代码重用的目 ...

  9. (一)如何理解java面向对象编程

    哲学中,事物总是螺旋式上升,波浪式前进.因而编程也逐渐向人类更容易理解的方向前进,多年来人们苦苦追求的编程境界 : 高扩展性(extensibility),高复用性(reuseable).java语言 ...

随机推荐

  1. EXCEL经纬度转化

    =LEFT(A1,FIND("°",A1)-1)+MID(A1,FIND("°",A1)+1,FIND(CHAR(39),A1)-1-FIND("°& ...

  2. objective-c系列-NSDictionary&NSMutableDictionary

    ********************************************* NSDictionary ***************************************** ...

  3. 在Mac上关于tomcat服务器的安装、配置、启动、部署web详细流程

    之前在Mac上通过安装mamp来搭建PHP环境服务器,但是对于java来说,目前还是没有找到类似mamp这样强大的软件来构建及管理java环境服务器,所以目前也是通过命令行来进行tomcat服务器的安 ...

  4. ios 返回指定导航控制器

    UINavigationController *navigationVC = self.navigationController; NSMutableArray *viewControllers = ...

  5. android 多线程下载 断点续传

    来源:网易云课堂Android极客班第八次作业练习 练习内容: 多线程 asyncTask handler 多线程下载的原理 首先获取到目标文件的大小,然后在磁盘上申请一块空间用于保存目标文件,接着把 ...

  6. 用GCD线程组与GCD信号量将异步线程转换为同步线程

    有时候我们会碰到这样子的一种情形: 同时获取两个网络请求的数据,但是网络请求是异步的,我们需要获取到两个网络请求的数据之后才能够进行下一步的操作,这个时候,就是线程组与信号量的用武之地了. #impo ...

  7. NSArray Sort 排序

    打算实现tableview的生序降序排序 ```js NSArray * rs= [oneArray sortedArrayUsingComparator:NSComparisonResult(RFI ...

  8. [转]listview加载性能优化ViewHolder

    当listview有大量的数据需要加载的时候,会占据大量内存,影响性能,这时候就需要按需填充并重新使用view来减少对象的创建. ListView加载数据都是在public View getView( ...

  9. maven 安装alipay-sdk包到本地及远程仓库

    安装到本地:mvn install:install-file -DgroupId=com.alipay -DartifactId=sdk-Java -Dversion=*** -Dpackaging= ...

  10. 烂泥:高负载均衡学习haproxy之TCP应用

    本文由ilanniweb提供友情赞助,首发于烂泥行天下 在前几篇文章中,我们介绍了haproxy的配置参数,而且配置例子都是http协议(7层应用)的. 这篇文章,开始介绍haproxy的4层TCP应 ...