修饰符 public static, final, abstract .....

时间:2021-06-29 21:05:18

修饰符, 修饰符控制范围和使用范围
     类修饰符:public,protected,private,缺省的访问修符,abstract,final

域的修饰符:public, protected, private, static, final, transient, volatile

     方法修饰符:public, protected, private, static, final, abstract, native, synchronized

访问修饰符  修饰符  class 类名称 [extends 父类名称 implement 接口名称]{

成员变量定义;

构造函数定义;

成员方法定义;

}

注:访问修饰符与修饰符的位置可以互换

类修饰符

访问控制修饰符:Public , Protected(内部类使用), Private(内部类使用) ,缺省的访问修饰符 

抽象类修饰符:Abstract 

最终类修饰符: Final

访问控制修饰符:

名称说明备注

名称说明备注

名称说明备注

Public

定义为pulbic类可以被任何包中的类所使用,不加public类只能由同一个源文件或同一个包中的类使用.

在同一个源文件中不能同时包含两个public.

public类必须在java文件中定义.

Protected(内部类使用)

Protected关键字限定类的成员仅仅可以被该类及其子类访问。

Private(内部类使用)

Private限定类的成员公能被该类的其他成员使用

有利于内部信息隐藏

缺省的访问修饰符

缺省的访问修饰符

缺省的访问修饰符

抽象类修饰符:

Abstract一

用此关键字的类是一个未完成的类,该类中只是声明方法,但不能实现

不能用实例化对象,只能被继承

非abstract类中含有abstract,编译出错

Abstract和final只能用其一

最终类修饰符:

Final

不能被继承,提高安全性,完美。Final的定义是完整的,不可以有任何的子类

Abstract和final只能用其一

域(类中的属性或变量) 

¡      [域修饰符] 类型 变量[=初始值][,变量]
 

变量:

成员变量

局部变量

定义

在类中定义的变量

方法中定义的变量以及方法的参数

可分为:

实例变量(类中的非静态变量)

类变量(类中的静态变量)static

初始化器

{}

Static{}

类型:

两都都可以使用java中的任意类型(如:int,boolean,float…)

作用范围:

整个类类中有效

只在定义它的方法中有效

修饰符:

有访问修饰符

初始化:

可心不初始化(null(引用类型)或者0、false)

必须初始化

注:

1.如果局部变量的名字与成员变量的名字相同,则成员变量将在方法中被隐藏

当你需要使用成员变量时,可采用关键字(this),但在static方法中不能使用this,supper关建字。


域修饰符
 

名称

说明

备注

访问控制修饰符

public

可以被任何类访问

protected

可以被同一包中的所有类访问

可以被所有子类访问

子类没有在同一包中也可以访问

Private

只能够被当前类的方法访问

缺省

无访问修饰符

可以被同一包中的所有类访问

如果子类没有在同一个包中,也不能访问

静态域修饰符

static

静态变量(又称为类变量,其它的称为实例变量)

可以被类的所有实例共享。

并不需要创建类的实例就可以访问静态变量

最终域修饰符

Final

常量,值只能够分配一次,不能更改

注意不要使用const,虽然它和C、C++中的const关键字含义一样

可以同static一起使用,避免对类的每个实例维护一个拷贝

其它修饰符

Transient

告诉编译器,在类对象序列化的时候,此变量不需要持久保存

主要是因为改变量可以通过其它变量来得到,使用它是为了性能的问题

volatile

指出可能有多个线程修改此变量,要求编译器优化以保证对此变量的修改能够被正确的处理

方法

访问修饰符 修饰符 返回类型 方法名称(参数列表)throws 违例列表

¡        类的构造器方法不能够有修饰符、返回类型和throws子句

¡         类的构造器方法被调用时,它首先调用父类的构造器方法,然后运行实例变量和静态变量的初始化器,然后才运行构造器本身。

¡        如果构造器方法没有显示的调用一个父类的构造器,那么编译器会自动为它加上一个默认的super(),而如果父类又没有默认的无参数构造器,编译器就会报错。super必须是构造器方法的第一个子句。

¡        注意理解private构造器方法的使用技巧。 

方法的修饰符

¡        访问控制修饰符 :Public , protected ,缺省

无访问修饰符

¡        静态方法修饰符 :static

¡        最终方法修饰符 :Final

¡        抽象方法修饰符 :Abstract

¡        本地方法修饰符 : Native

¡ 同步方法修饰符 :synchronized
  

访问修饰符的控制范围 

访问修饰符

本类

同一包中的类

不同包中的类

Public

?

?*

?*

Private

?

Protected

?

?*

*

缺省

?

?*

?可访问

*可继承

修饰符的使用范围  

修饰符

方法

变量

Final

Y

Y

Y

Abstract

Y

Y

N

Static

N

Y

Y

Native

N

Y

N

Transient

N

N

Y

Volatile

N

N

Y

synchronized

N

Y

N