基本语法
语言规范(打死都不可侵犯的规则)
- 大小写敏感: Hello 与hello不同
- 类名:首字母应该大写,若由多个单词组成,每个单词首字母都应该大写,例如:MyTestJavaClass
- 方法名:方法名首字母小写,遵循 驼峰命名法 ,若由多个单词组成,后面的每个单词首字母大写,例如:sayHelloWorld()
- 源文件名:源文件名必须和类名相同,后缀为.java
- 主方法入口:所有的程序语言都去找main没有错。Java由 public static void main(String[] args)方法开始执行。一个程序有且仅有一个入口
标识符
类名、变量名、方法名都被称为标识符。
标识符遵循以下规则:
- 都应该以字母(A-Z或a-z),美元符($)、或下划线(_)开始
- 首字母之后可以是字母(A-Z或a-z),美元符($)、或下划线(_)或数字的任意组合
- 关键字不能用作标识符
- 标识符是大小写敏感的
- 合法标识符:name、$money、_location、_1_location
- 非法标识符:123abc、-money
修饰符
- 访问修饰符:default、public、private、protected
- 非访问修饰符:final、abstract、static、synchronized
变量
- 类变量:独立于方法之外的变量,用static修饰
- 实例变量:独立于方法之外的变量,不过没有static修饰
- 局部变量:类的方法中的变量
数组
数组是存储在堆上的对象,可以保存多个同类型变量(非常重要,后续详解)
枚举
自jdk1.5引入了新的类型-枚举,给开发带来了极大的方便,可减少代码中bug,提高代码可读性。枚举可单独声明或声明在类里。方法、变量、构造䁋瞳也可在枚举中定义
关键字(一定要牢记)
类别 |
关键字 |
说明 |
访问控制 |
private |
私有的 |
protected |
受保护的 |
|
public |
公共的 |
|
default |
默认 |
|
类、方法和变量修饰符 |
abstract |
声明抽象 |
class |
类 |
|
extends |
继承父类 |
|
final |
最终值,不可改变的 |
|
implements |
实现(接口) |
|
interface |
接口 |
|
native |
本地,原生方法(非 Java 实现) |
|
new |
创建新实例,实例化新对象 |
|
static |
静态 |
|
strictfp |
严格,精准 |
|
synchronized |
线程,同步 |
|
transient |
短暂 |
|
volatile |
易失 |
|
程序控制语句 |
break |
跳出循环 |
case |
定义一个值以供 switch 选择 |
|
continue |
继续 |
|
default |
默认 |
|
do |
运行 |
|
else |
否则 |
|
for |
循环 |
|
if |
判断如果 |
|
instanceof |
实例 |
|
return |
返回 |
|
switch |
根据值选择执行 |
|
while |
循环 |
|
错误处理 |
assert |
断言表达式是否为真 |
catch |
捕捉异常 |
|
finally |
有没有异常都执行 |
|
throw |
抛出一个异常对象 |
|
throws |
声明一个异常可能被抛出 |
|
try |
捕获异常 |
|
包相关 |
import |
引入 |
package |
包 |
|
基本类型 |
boolean |
布尔型 |
byte |
字节型 |
|
char |
字符型 |
|
double |
双精度浮点 |
|
float |
单精度浮点 |
|
int |
整型 |
|
long |
长整型 |
|
short |
短整型 |
|
变量引用 |
super |
父类,超类 |
this |
本类 |
|
void |
无返回值 |
|
保留关键字 |
goto |
是关键字,但不能使用 |
const |
是关键字,但不能使用 |
|
null |
空 |
关键字不能用于常量、变量、和任何标识符名称(敲黑板,划重点!!!)
空白行
空白行或有注释的行, Java编译器 会忽略掉。
继承
一个类可以由其他类派生,如果要创建一个类,而且已经存在一个类具有你所需要的属性或方法,那么就可以用新创建的类继承该类,利用继承可以重用已存在的类的方法和属性,不用重写代码。被继承的类称为超类,派生类称为子类。例如: 人(Person) 属性:身高、年龄、体重。动作:走路、跑步。 派生类:老师(Teacher): 除了具备Person的属性和动作外,可以扩展自己的动作:讲课。
接口
接口为 Java 实现多态而存在。
有时必须从几个类中派生出一个子类,继承它们所有的属性和方法。但是Java不支持 多重继承 。有了接口,便得到多重继承的效果。
接口(interface)是抽像方法和常量值的定义的集合。
本质上讲,接口是一种特殊的抽象类,这种抽象类中只包含常量和方法的定义,而没有变量和方法的实现。