首页 > 编程知识 正文

java中访问修饰符有几个(java的访问修饰符的作用范围)

时间:2023-12-24 12:05:35 阅读:320573 作者:RWBB

本文目录一览:

java中类成员的访问修饰符有哪些

一:访问修饰符:

1.省略访问修饰符

具有默认的访问特性,即具有包访问特性,只能被同一个包中的类使用。

2.public访问修饰符

用于说明类和类的成员的访问权限。这种类叫公有类。在一个文件中只能有一个public类型的类。

例如:Rect和UseImport两个类,分别在两个不同的包中。顺便回顾一下不同类要用import导入。(哎,一直就没记住)

//Rect.java

pacakage

my;

public

class

Rect

{

private

int

a,b;

public

void

init(int

len,int

width)

{

a=len;

b=width;

}

public

int

area()

{

return

a*b;

}

}

//UseImport.java

import.my.*;//导入my

包的所有类

public

class

UseImport

{

public

static

void

main(string[]

args)

{

Rect

x=new

Rect();

x.init(2,3);

System.out.println("矩形面积为:"+x.area());

}

}

3.private

用private修饰的类成员成为私有成员,只能在声明该成员的类中使用,不能在类外使用。一般通过本类中公有方法进行访问。

4.protected

protected修饰的类成员为保护成员,可以被三种类使用,分别是该类本身,该类的所有子类,该类同包的其他类,该类的子类。

5.private

protected

私有保护成员。可被两种类使用。分别是:该类本身和该类的所有子类。

二:特征修饰符

1.abstract:抽象

修饰类为抽象类,修饰方法为抽象方法。只要类中有抽象方法,就必须定义为抽象类。抽象方法只能声明,不能实现。但是可以在其子类中对抽象方法进行实现。抽象类中也可以包含非抽象方法。

2.final:最终

修饰的类为终止类,不能有子类。修饰变量为终止变量,只可赋值一次。修饰方法为终止方法,不能在子类中更改。如Socket、ServerSocket等都是final类,防止黑客派生子类进行破坏。同时,final与abstract是相互矛盾的。

3.static:静态

静态成员无需通过对象调用,可以直接通过类名直接调用。

public

class

RectArea//输出6

12

{

public

static

void

main(String[]

args)

{

System.out.println(area(2,3));

System.out.println(area(3,4));

}

static

void

area(int

a,int

b)

{

return

a*b;

}

}

4.native

用native修饰的为本地方法。它修饰的方法在程序外部使用其他编程语言编写。(这个步骤比较多,所以就木有继续研究了)

5.synchronized

修饰的方法为同步方法。

java中修饰符有哪些

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,本地修饰符。指定此方法的方法体是用其他语言在程序外部编写的。

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

JAVA中内部类可以有几种几种访问修饰符?

一个标准类可以有四种访问修饰符:public,final,abstract和package(就是什么也不写) ,内部类在此基础上还可以有private 和 protected

(有的资料说只有private ,可我写了一个内部类,用protected修饰,没什么问题.)

java中有几种修饰符?

java中的修饰符分为类修饰符,字段修饰符,方法修饰符。根据功能的不同,主要分为以下五种。

1、权限访问修饰符

public,protected,default,private,这四种级别的修饰符都可以用来修饰类、方法和字段。

 

2、final修饰符

final的意思是不可变,他可以修饰类、字段、方法。修饰类后类不能被扩展(extends),也就是不能被继承。修饰字段后字段的值不能被改变,因此如果有final修饰字段,应该对字段进行手动初始化。修饰方法后该方法不能被改变,也就是重写。

3、abstract修饰符

abstract是抽象的意思,用来修饰类和方法,修饰类后,该类为抽象类,不能被实例化,必需进行扩展。修饰方法后,该方法为抽象方法必须被子类重写(override)。

4、static修饰符

static用来修饰内部类,方法,字段。修饰内部类说明该内部类属于外部类而不属于外部类的某个实例。修饰字段说明该字段属于类而不属于类实例。修饰方法说明该方法属于类而不属于类实例

5、volatile修饰符

易失 ( 共享 ) 域修饰符 volatile 是用来说明这个成员变量可能被几个线程所控制和修改。也就是说在程序运行过程中,这个成员变量有可能被其它的程序影响或改变它的取值。

扩展资料:

修饰符的特点:

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

静态成员随着类的加载而加载。静态成员优先于对象存在。静态成员被所有对象所共享静态成员多了一个中调用方式,可以被类名直接调用。

使用的注意事项:

静态方法只能访问静态成员, 非静态方法既可以访问静态又可以访问非静态。静态方法中不可以定义this,super关键字。因为this代表是对象。而静态存在时,有可能没有对象。所以静态方法运行时,this是没有任何对象代表的。

简单说,先进内存的数据不可以访问后进内存的数据,可是后进内存数据可以访问先进内存的数据。主函数是静态的。

java中各种访问修饰符都有什么区别 public什么的

修饰符 当前类 同 包 子 类 其他包

public √ √ √ √

protected √ √ √ ×

default √ √ × ×

private √ × × ×

类的成员不写访问修饰时默认为default。默认对于同一个包中的其他类相当于公开(public),对于不是同一个包中的其他类相当于私有(private)。受保护(protected)对子类相当于公开,对不是同一包中的没有父子关系的类相当于私有。Java中,外部类的修饰符只能是public或默认,类的成员(包括内部类)的修饰符可以是以上四种。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。