class:类 声明类时使用
2.break:
1)使用在switch...case...default...结构中,表示打破switch结构
2)使用在循环中,表示结束循环
3.continue: 使用在循环中,表示本次循环结束,开始下一次循环
注意:在使用break和continue时要分清是结束循环还是跳出本次循环.
4.return:将方法的返回值带出方法,带给方法的调用者,将数据带到方法的调用处
注意:return是方法中最后被执行的语句;当方法没有返回值(void)时,方法中也可以有return语句,但是return后不需要有任何数据,表示方法到此为止;一个方法只能有一个return, 一个return语句只能带出一个数据。所以一个方法只能有一个返回值。
5.new: 创建对象时使用,构造方法使用new关键字调用
new关键字的作用就是声明了一个对象后,在堆内存中开辟新的空间即给对象分配相应内存。
6.private:私有化,用来实现封装
修饰类成员:修饰成员变量:对象的属性私有化,在类外无法访问私有化属性,在类内可以随意访问
修饰成员方法:对象的行为功能私有化。
对私有化的成员如何访问? 答:通过get和set方法。
this:表示对本类的引用
this.属性:表示访问当前对象的属性,当类中的方法中声明了与成员变量同名的变量时,用this.属性 访问成员变量。
this.方法:表示调用当前对象的方法
this():表示调用本类的构造方法,在带参数的构造方法中默认第一条语句是this(),调用本类的无参构造方法
为什么在static中不能使用this? 答:Static方法是类方法,先于任何的实例(对象)存在。即Static方法在类加载时就已经存在了,但是对象是在创建时才在内存中生成。而this指代的是当前的对象,所以不可用。
8.static:静态
static修饰成员变量和成员方法:不需要创建对象(先于对象),可以直接通过类名访问调用
static修饰代码块:静态代码块,类加载时自动执行,只执行一次
static修饰的内部类:自动升级为普通类
另补充一下Java类的加载时机:先初始化父类的静态代码—>初始化子类的静态代码–>初始化父类的非静态代码—>初始化父类构造函数—>初始化子类非静态代码—>初始化子类构造函数。
extends:继承,在java中遇到继承,就需要使用extends
语法:
访问权限 class 子类 extends 父类{//子类类体}
10.final:最终的
1)修饰变量:变量变常量
修饰成员变量:常量属性,必须声明的同时初始化
2)修饰成员方法:可以被继承,但是不能被重写
3)修饰类:不能被继承,也就不能有子类
super:表示访问父类的引用
super.属性:表示访问父类中的属性,当子类中定义了与父类同名的属性时,若想在子类中访问父类中访问父类的属性值,使用super.属性
super.方法:表示调用父类中的方法,当子类中重写了父类的方法时,使用super方法调用父类中没被重写的方法。
super():表示调用父类的构造方法,在子类中的构造方法中的第一条语句,调用父类的无参构造方法。
abstract:抽象
修饰方法:抽象方法,只声明不实现,不能有方法体,使用分号表示声明结束
修饰类:抽象类,抽象类中可以没有抽象方法,抽象类中有构造方法,但是不能被初始化
interface:接口的关键字,声明接口时使用
语法:访问权限 interface 接口名{//接口中的成员}
implements:实现接口,类实现接口时使用
语法:访问权限 class 类名 extends 父类名 implements 接口1,接口2...{//类体}
注意:一定要注意语法格式先继承父类再实现接口。
instanceof:比较运算,避免ClassCastException异常的抛出
使用格式:
if(obj instanceof A){
A a = (A)obj;
}
说明:若obj是A或A子类的对象,那么将obj强转为A类对象,给A类的引用赋值。
throw关键字:抛出异常,处理异常的一种方法。
synchronized关键字:同步的
1)同步代码块:
语法:
synchronized(锁){
//所有有关临界资源的操作代码
}
语法说明:
关键字:synchronized
锁:对象锁或类锁
代码块中的内容:所有有关临界资源的操作代码
在使用synchronized时需要注意注意;1)必须保证锁是通一把锁;2)所有对临界资源操作的代码全部都要放到同步代码块中;3)使用锁对临街资源进行锁定,锁定给正在操作临界资源的线程。
2)同步方法:
如 public synchronized static Person getPerson(){}