java关键字总结

final 关键字

 

1、用final修饰的类不能被继承,没有子类;

2、用final修饰的方法,方法不能被重写;

3、final修饰变量,变量的值不能被修改,表示常量,

(书写规范:全部字母都要大写;多个单词,可以使用下划线(_)分开;) 

注意:

如果被final修饰的变量是一个引用类型的数据,那么通过这个引用改变堆空间中的数据,不会报错;;如果被final修饰的变量是一个引用类型的数据,那么通过这个引用改变堆空间中的数据,不会报错;

 

4、final用于成员变量表示该成员变量为常量,不能被修改,必须在变量定义时赋值。

5、final用于局部变量表示该局部变量为常量,不能被修改,可以在变量定义时赋值,也可以先定义变量后赋值。

 

什么时候用final关键字? 

有的时候不想别人重写我的方法就使用final关键字修饰该方法;

 

static关键字

 

1、static用于成员变量表示该变量只有一份,也就是说静态成员变量属于类而不属于某个具体的类实例对象,所有的类实例对象共享这个静态成员变量;

静态函数是不需要对象的,直接可以使用类名来调用;

 

2、非静态函数可以调用静态函数;静态函数不能调用非静态函(

非静态函数都是通过对象调用的);静态函数不能使用非静态成员变量,但可以使用静态成员变量;

 

3、静态函数调用时不需要对象的,所以不能使用和对象有关的关键字;(this;super;)

 

4、构造函数不能使用static修饰(构造函数是创建对象,开辟空间,给所有成员变量赋默认值之后,有JVM调用进栈,用来给对象的成员变量赋初始值的) 

static用于类,这里指的是内部类,那么在别的地方就可以通过外部类名来引用这个静态的内部类。

 

5、static还可以用于类的代码块,叫做静态代码块,静态代码块在类加载的时候就执行完毕,而类只加载一次;是在类中独立于类成员的

static语句块,可以有多个,位置可以随便放,它不在任何的方法体内,JVM加载类时会执行这些静态的代码块,如果static代码块有多个,JVM将按照它们在类中出现的先后顺序依次执行它们,每个代码块只会被执行一次。

 

什么时候用static关键字? 

不想建立对象时;对于公用的成员变量必须使用static关键字修饰才能保证共享;

 

 

private关键字

 

1、java中的访问权限修饰符(作用是控制被修饰的成员的访问权限);被private修饰的成员,只能在本类中使用;所以被私有的成员需要在外界访问,还需要提供一个公共的方法;

 

设值:

set + 变量名(变量名的首字母大写);

取值:

get + 变量名(变量名的首字母大写);

2、构造函数私有化,就只能在被类中使用,别的地方调用不了单例设计模式时会用到;

 

在开发中,一般类的成员变量都要私有化,然后提供get和set

方法;

 

 

interface关键字

 

1、interface接口不是一个类,使用interface声明;接口没有构造函数;接口是用来描述不属于继承体系的扩展功能的;还可以定义规则;接口和类之间是实现关系,一个实现类可以实现多个接口;接口和接口之间是继承关系,可以多继承和多重继承;

 

2、接口中可以书写的内容:

 

成员变量:只能使用一下修饰符:public static final;也就是说,接口中的成员变量,都是常量;

 

成员函数:

 

只能使用修饰符:public abstract ;

也就是说,接口中的方法,都是公共和抽象的;一般函数前面的修饰符,推荐public不要省略;

 

什么时候用interface关键字? 

对于继承体系之外的扩展功能需要使用接口来描述;

 

 

implements

关键字

 

implements

用于实现接口,需要实现接口中的所有方法,可以同时实现多

个接口。

 

extends关键字

 

extends

用于继承父类或父接口,继承父类时只能是单继承。

 

 

class关键字

 

class

用于声明类,访问权限可以是public或者默认权限,还可以指定为

abstract、final,访问权限对于顶层类和内部类的限制是不同的。

 

instanceof关键字

 

1、比较运算符,运算符左边是一个指向一个对象的引用(左边就是一个变量名),右边是一个类名,运算符表示的意思就是:判断左边的对象的类型是不是右边的类;

 

2、使用instanceof关键字,可以实时判断一个对象的类型,就可以避免强制类型转换中容易出现的类型转换异常。

 

 

abstract关键字

 

1、abstract用于类表示这个类为抽象类,不能实例化。

 

2、抽象类,必须由子类去继承,继承的子类必须实现父类中所有的抽象方法,否则子类也是抽象的;

 

3、抽象函数必须放在抽象类中;抽象类中除了抽象函数,还可以定义所有一般类中可以定义的成员;

 

4、抽象类中可以不书写抽象方法;抽象类中必须有构造方法;抽象类一定是父类;

 

5、抽象类是父类,用来描述所有子类的共性信息的,只是描述的有些功能是不具体的;

 

6、abstract用于方法表示这个方法为抽象方法,只需声明,不用实现,由子类实现,抽象方法不能用private和static关键字。

 

什么时候用abstract关键字? 

当事物的功能描述不清,只能表示有这个功能时,就应该使用抽象修饰该功能,这个功能就是抽象的功能;如果一个类中有抽象的功能,那么这个类也是抽象的类;不想实例化这个类(包括自己也不行),但是允许别人继承,也可以使用抽象类。

 

 

类修饰符:

public(访问控制符),将一个类声明为公共类,他可以被任何对象访问,一个程序的主类必须是公共类。

abstract,将一个类声明为抽象类,没有实现的方法,需要子类提供方法实现。

final,将一个类生命为最终(即非继承类),表示他不能被其他类继承。

friendly,默认的修饰符,只有在相同包中的对象才能使用这样的类。

  

成员变量修饰符:

public(公共访问控制符),指定该变量为公共的,他可以被任何对象的方法访问。

private(私有访问控制符)指定该变量只允许自己的类的方法访问,其他任何类(包括子类)中的方法均不能访问。

protected(保护访问控制符)指定该变量可以别被自己的类和子类访问。在子类中可以覆盖此变量。自己的类指的是同一个包中可以被其他类访问,

不同包中只能被该类的子类访问。

friendly ,在同一个包中的类可以访问,其他包中的类不能访问。

final,最终修饰符,指定此变量的值不能变

static(静态修饰符)指定变量被所有对象共享,即所有实例都可以使用该变量。变量属于这个类。

transient(过度修饰符)指定该变量是系统保留,暂无特别作用的临时性变量。

volatile(易失修饰符)指定该变量可以同时被几个线程控制和修改。

  

方法修饰符

public(公共控制符)

private(私有控制符)指定此方法只能有自己类等方法访问,其他的类不能访问(包括子类)

protected(保护访问控制符)指定该方法可以被它的类和子类进行访问。

final,指定该方法不能被重载

static,指定不需要实例化就可以激活的一个方法。

synchronize,同步修饰符,在多个线程中,该修饰符用于在运行前,对他所属的方法加锁,以防止其他线程的访问,运行结束后解锁。

native,本地修饰符。指定此方法的方法体是用其他语言在程序外部编写的。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值