一个Java程序能够认为是一系列对象的集合,而这些对象经过调用彼此的方法来协同工做。下面简要介绍下类、对象、方法和实例变量的概念。java
对象:对象是类的一个实例,有状态和行为。例如,一条狗是一个对象,它的状态有:颜色、名字、品种;行为有:摇尾巴、叫、吃等。数组
类:类是一个模板,它描述一类对象的行为和状态。函数
方法:方法就是行为,一个类能够有不少方法。逻辑运算、数据修改以及全部动做都是在方法中完成的。测试
实例变量:每一个对象都有独特的实例变量,对象的状态由这些实例变量的值决定。ui
编写Java程序时,应注意如下几点:this
大小写敏感:Java是大小写敏感的,这就意味着标识符Hello与hello是不一样的。spa
类名:对于全部的类来讲,类名的首字母应该大写。若是类名由若干单词组成,那么每一个单词的首字母应该大写,例如 MyFirstJavaClass 。线程
方法名:全部的方法名都应该以小写字母开头。若是方法名含有若干单词,则后面的每一个单词首字母大写。设计
源文件名:源文件名必须和类名相同。当保存文件的时候,你应该使用类名做为文件名保存(切记Java是大小写敏感的),文件名的后缀为.java。(若是文件名和类名不相同则会致使编译错误)。code
主方法入口:全部的Java 程序由public static void main(String []args)方法开始执行。
Java全部的组成部分都须要名字。类名、变量名以及方法名都被称为标识符。
关于Java标识符,有如下几点须要注意:
全部的标识符都应该以字母(A-Z或者a-z),美圆符($)、或者下划线(_)开始
首字符以后能够是任何字符的组合
关键字不能用做标识符
标识符是大小写敏感的
合法标识符举例:age、$salary、_value、__1_value
非法标识符举例:123abc、-salary
像其余语言同样,Java能够使用修饰符来修饰类中方法和属性。主要有两类修饰符:
可访问修饰符 : default, public , protected, private
不可访问修饰符 : final, abstract, strictfp
在后面的章节中咱们会深刻讨论Java修饰符。
Java中主要有以下几种类型的变量
局部变量
类变量(静态变量)
成员变量(非静态变量)
数组是储存在堆上的对象,能够保存多个同类型变量。在后面的章节中,咱们将会学到如何声明、构造以及初始化一个数组。
Java 5.0引入了枚举,枚举限制变量只能是预先设定好的值。使用枚举能够减小代码中的bug。
例如,咱们为果汁店设计一个程序,它将限制果汁为小杯、中杯、大杯。这就意味着它不容许顾客点除了这三种尺寸外的果汁。
class FreshJuice { enum FreshJuiceSize{ SMALL, MEDUIM, LARGE } FreshJuiceSize size; } public class FreshJuiceTest { public static void main(String []args){ FreshJuice juice = new FreshJuice(); juice.size = FreshJuice. FreshJuiceSize.MEDUIM ; } }
注意:枚举能够单独声明或者声明在类里面。方法、变量、构造函数也能够在枚举中定义。
下面列出了Java保留字。这些保留字不能用于常量、变量、和任何标识符的名称。
关键字 | 描述 |
---|---|
abstract | 抽象方法,抽象类的修饰符 |
assert | 断言条件是否知足 |
boolean | 布尔数据类型 |
break | 跳出循环或者label代码段 |
byte | 8-bit 有符号数据类型 |
case | switch语句的一个条件 |
catch | 和try搭配扑捉异常信息 |
char | 16-bit Unicode字符数据类型 |
class | 定义类 |
const | 未使用 |
continue | 不执行循环体剩余部分 |
default | switch语句中的默认分支 |
do | 循环语句,循环体至少会执行一次 |
double | 64-bit双精度浮点数 |
else | if条件不成立时执行的分支 |
enum | 枚举类型 |
extends | 表示一个类是另外一个类的子类 |
final | 表示一个值在初始化以后就不能再改变了 表示方法不能被重写,或者一个类不能有子类 |
finally | 为了完成执行的代码而设计的,主要是为了程序的健壮性和完整性,不管有没有异常发生都执行代码。 |
float | 32-bit单精度浮点数 |
for | for循环语句 |
goto | 未使用 |
if | 条件语句 |
implements | 表示一个类实现了接口 |
import | 导入类 |
instanceof | 测试一个对象是不是某个类的实例 |
int | 32位整型数 |
interface | 接口,一种抽象的类型,仅有方法和常量的定义 |
long | 64位整型数 |
native | 表示方法用非java代码实现 |
new | 分配新的类实例 |
package | 一系列相关类组成一个包 |
private | 表示私有字段,或者方法等,只能从类内部访问 |
protected | 表示字段只能经过类或者其子类访问 子类或者在同一个包内的其余类 |
public | 表示共有属性或者方法 |
return | 方法返回值 |
short | 16位数字 |
static | 表示在类级别定义,全部实例共享的 |
strictfp | 浮点数比较使用严格的规则 |
super | 表示基类 |
switch | 选择语句 |
synchronized | 表示同一时间只能由一个线程访问的代码块 |
this | 表示调用当前实例 或者调用另外一个构造函数 |
throw | 抛出异常 |
throws | 定义方法可能抛出的异常 |
transient | 修饰不要序列化的字段 |
try | 表示代码块要作异常处理或者和finally配合表示是否抛出异常都执行finally中的代码 |
void | 标记方法不返回任何值 |
volatile | 标记字段可能会被多个线程同时访问,而不作同步 |
while | while循环 |
相似于C/C++,Java也支持单行以及多行注释。注释中的字符将被Java编译器忽略。
public class HelloWorld { /* 这是第一个Java程序 *它将打印Hello World * 这是一个多行注释的示例 */ public static void main(String []args){ // 这是单行注释的示例 /* 这个也是单行注释的示例 */ System.out.println("Hello World"); } }
空白行,或者有注释的的行,Java编译器都会忽略掉。
在Java中,一个类能够由其余类派生。若是你要建立一个类,并且已经存在一个类具备你所须要的属性或方法,那么你能够将新建立的类继承该类。
利用继承的方法,能够重用已存在类的方法和属性,而不用重写这些代码。被继承的类称为超类(super class),派生类称为子类(subclass)。
在Java中,接口可理解为对象间相互通讯的协议。接口在继承中扮演着很重要的角色。
接口只定义派生要用到的方法,可是方法的具体实现彻底取决于派生类。