java中修饰符有哪些

Python012

java中修饰符有哪些,第1张

java的修饰符有:权限修饰符:public、protected、default、private

修饰符:abstract、static、final

public 使用对象:最广,类、接口、变量方法

protected使用对象:变量、方法 注意:不能修饰类(外部类)

default 使用对象:类、接口、变量、方法。(即缺省,什么也不写)

private 使用对象:变量、方法 注意:不能修饰类(外部类)

abstract使用对象:类、接口、方法

static 使用对象:类、变量、方法、初始化函数(注意:修饰类时只能修饰 内部类 )

final 使用对象:类、变量、方法

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

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

native:用该修饰符定义的方法在类中没有实现,而大多数情况下该方法的实现是用C、C++编写的。

synchronized:修饰方法,多线程的支持

类分外部类和内部类,他们的访问控制是相同的吗

外部类是相对于内部类而言的,内部类是定义在类里面的类。

外部类的修饰符有:

default(缺省,不写):类定义时前面未加任何修饰符,表示同一个包中可见。

public:修饰类时表示该类能被项目中所有类可见

abstract:表示是抽象类

final:表示类不可以被继承

scrictpf:(java关键字) 当对一个类或接口使用 strictfp 关键字时,该类中的所有代码,包括嵌套类型中的初始设定值和代码,都将严格地进行计算。严格约束意味着所有表达式的结果都必须是 IEEE 754 算法对操作数预期的结果,以单精度和双精度格式表示

内部类又分:成员内部类、局部内部类、静态内部类、匿名内部类

成员内部类:作为外部类的一个成员存在,与外部类的属性、方法并列

局部内部类:定义在外部类的方法体里面的类

静态内部类:使用static修饰的内部类

匿名内部类:就是没有名字的内部类

成员内部类修饰符有:

public:

protected:

private:private不能修饰外部类,

abstract:

final:

static:可以当做普通类使用,而不用先实例化一个外部类。(用他修饰后,就成了静态内部类了)

strictfp:(java关键字) 即 strict float point (精确浮点)。(可修饰类、接口、方法)

扩展资料:

java中的类修饰符、成员变量修饰符、方法修饰符。

类修饰符:

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

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

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

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

成员变量修饰符:

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

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

protected(保护访问控制符)指定该变量可以别被自己的类和子类访问。在子类中可以覆盖此变量。

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

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

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

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

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

方法修饰符:

public(公共控制符)

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

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

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

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

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

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

参考资料:百度百科-修饰符

1、java中的修饰符

1)访问修饰符:

private

被private修饰的属性和方法,不能被其他类访问,子类不能继承也不能访问。只能在所在类内部访问。

缺省

变量或者方法前没有访问修饰符时,可以被所在类访问,可以被同一包内的其他类访问 或者继承。但是不能被其他包访问。

protected

被protected修饰的方法和属性,在同一包内可被访问和继承。不同包内,子类可继承,非子类不能访问。

public

方法和属性前有public修饰,可以被任意包内的类访问。

另外,类要想被其他包导入,必须声明为public。被public修饰的类,类名必须与文件名相同。

2)静态修饰符:

static是一个修饰符,用于修饰成员(成员变量和成员函数)

静态成员随着类的加载而加载。

静态成员优先于对象存在。

静态成员被所有对象所共享

静态成员多了一个中调用方式,可以被类名直接调用。

1、

接口的修饰符只有:public

2、

类的修饰符分为:可访问控制符和非访问控制符两种。

可访问控制符是:公共类修饰符

public

非访问控制符有:抽象类修饰符

abstract

最终类修饰符

final

1、公共类修饰符public:

Java

语言中类

的可访问控制符只有一个:

public

即公共的。每个

Java

程序的主类都必须是

public

类作为公共工具供其它类和程序使用的应定义为

public

类。

2

、抽象类修饰符abstract:凡是用

abstract

修饰符修饰的类,被称为抽象类。所谓抽象类是指这种类没有具体对象的一种概念类。这样的类就是

Java

语言的

abstract

类。

3、最终类修饰符final:当一个类不可能有子类时可用修饰符

final

把它说明为最终类。被定义为

final

的类通常是一些有固定作用、用来完成某种标准功能的类。

4、类缺省访问控制符:如果一个类没有访问控制符,说明它具有缺省的访问控制符特性。此时,这个类只能被同一个包中的类访问或引用。这一访问特性又称为包访问性。

3、属性的控制修饰符也分为:可访问控制符和非访问控制符两类。

可访问控制符有

4

种:公共访问控制符:

public

私有访问控制符:

private

保护访问控制符:

protected

私有保护访问控制符:

private

protected

非访问控制符有

4

种:静态域修饰符:

static

最终域修饰符:

final

易失

(

共享

)

域修饰符:

volatile

暂时性域修饰符:

transient

1、公共访问控制符

public

:用

public

修饰的域称为公共域。如果公共域属于一个公共类,则可以被所有其它类所引用。由于

public

修饰符会降低运行的安全性和数据的封装性,所以一般应减少

public

域的使用。

2、私有访问控制符

private

:

private

修饰的成员变量

(

)

只能被该类自身所访问,而不能被任何其它类

(

包括子类

)

所引用。

3、保护访问控制符

protected

:用

protected

修饰的成员变量可以被三种类所引用:①该类自身②与它在同一个包中的其它类③在其它包中的该类的子类。使用修饰符

protected

的主要作用是允许其它包中它的子类来访问父类的特定属性。

4、私有保护访问控制符

private

protected

:用修饰符

private

protected

修饰的成员变量可以被该类本身或该类的子类两种类访问和引用。

5、静态域修饰符

static

:用

static

修饰的成员变量仅属于类的变量,而不属于任何一个具体的对象,静态成员变量的值是保存在类的内存区域的公共存储单元,而不是保存在某一个对象的内存区间。任何一个类的对象访问它时取到的都是相同的数据任何一个类的对象修改它时

,

也都是对同一个内存单元进行操作。

6、最终域修饰符

final

:最终域修饰符

final

是用来定义符号常量的。一个类的域

(

成员变量

)

如果被修饰符

final

说明,则它的取值在程序的整个执行过程中都是不变的。

7、易失

(

共享

)

域修饰符

volatile

:易失

(

共享

)

域修饰符

volatile

是用来说明这个成员变量可能被几个线程所控制和修改。也就是说在程序运行过程中,这个成员变量有可能被其它的程序影响或改变它的取值。因此,在使用中要注意这种成员变量取值的变化。通常

volatile

用来修饰接受外部输入的域。

8、暂时性域修饰符

transient

:暂时性域修饰符

transient

用来定义一个暂时性变量。其特点是:用修饰符

transient

限定的暂时性变量,将指定

Java

虚拟机认定该暂时性变量不属于永久状态,以实现不同对象的存档功能。否则,类中所有变量都是对象的永久状态的一部分,存储对象时必须同时保存这些变量。

4、方法的控制修饰符也分为:可访问控制符和非访问控制符两类。

可访问控制符有

4

种:公共访问控制符:

public

私有访问控制符:

private

保护访问控制符:

protected

私有保护访问控制符:

private

protected

非访问控制符有

5

种:抽象方法控制符:

abstract

静态方法控制符:

static

最终方法控制符:

final

本地方法控制符:

native

同步方法控制符:

synchronized

1、抽象方法控制符

abstract

:用修饰符

abstract

修饰的方法称为抽象方法。抽象方法是一种仅有方法头,没有方法体和操作实现的一种方法。

2、静态方法控制符

static

:用修饰符

static

修饰的方法称为静态方法。静态方法是属于整个类的类方法而不使用

static

修饰、限定的方法是属于某个具体类对象的方法。

由于

static

方法是属于整个类的,所以它不能操纵和处理属于某个对象的成员变量,而只能处理属于整个类的成员变量,即

static

方法只能处理

static

的域。

3、最终方法控制符

final

:用修饰符

final

修饰的方法称为最终方法。最终方法是功能和内部语句不能更改的方法,即最终方法不能重载。这样,就固定了这个方法所具有的功能和操作,防止当前类的子类对父类关键方法的错误定义,保证了程序的安全性和正确性。所有被

private

修饰符限定为私有的方法,以及所有包含在

final

(

最终类

)

中的方法,都被认为是最终方法。

4、本地方法控制符

native

:用修饰符

native

修饰的方法称为本地方法。为了提高程序的运行速度,需要用其它的高级语言书写程序的方法体,那么该方法可定义为本地方法用修饰符

native

来修饰

5、同步方法控制符

synchronized

:该修饰符主要用于多线程共存的程序中的协调和同步。