精华内容
下载资源
问答
  • Java权限修饰符

    2017-03-21 16:40:24
    开发这么久,以前都是看别人的博客,总能学到许多知识,现在决定自己也要写一写,一来可以巩固自己所...Java修饰符总结: 访问控制修饰符  作用: 用于控制被修饰变量、方法、类的可见范围.  public 的

      开发这么久,以前都是看别人的博客,总能学到许多知识,现在决定自己也要写一写,一来可以巩固自己所学的知识点,毕竟自己写的印象会深刻好多,二来也可以把所学知识分享出来,大家一起进步,以后可能工作会比较忙,不过会尽量抽时间写,今天就先从简单的 JAVA 基础写起吧!

    Java中修饰符总结:

    1. 访问控制修饰符 

      作用: 用于控制被修饰变量、方法、类的可见范围. 
      public 的访问级别是最高的,其次是 protected、默认和 private. 
      成员变量和成员方法可以处于4个访问级别中的一个:公开、受保护、默认或私有. 
      存在继承关系时,父类不可以是 private,因为子类无法继承 
      顶层类可以处于公开或默认级别,顶层类不能被 protected 和 private 修饰. 
      局部变量不能被访问控制修饰符修饰 . 
      下图是在不同情况下各种权限修饰符的作用范围: 
      在不同情况下各种权限修饰符的作用范围 

      总结: 在不同包下面能够访问的权限修饰符只有: pulbic 与protected,但是 protected 必须要有继承的关系才能够访问。

    2. abstract 修饰符

      抽象类不能被实例化. 
      抽象类中可以没有抽象方法,但包含了抽象方法的类必须被定义为抽象方法. 
      如果子类没有实现父类中所有的抽象方法,子类也必须定义为抽象类. 
      抽象类不能被定义为 private、final、和 static 类型. 
      没有抽象的构造方法. 
      抽象方法没有方法体,如果一个方法没有方法体,那么该方法必须声明为抽象的方法. 
      非抽象类继承抽象类的时候,必须要把抽象类中的所有抽象方法实现.

    3. final 修饰符

      final 变量必须被显式初始化,并且只能被赋值一次值 
      final 修饰基本类型变量的时候, 该变量不能重新赋值 
      final 修饰引用类型变量的时候, 该变量不能重新指向其他对象 
      final 修饰的方法为最终的方法, 该方法不能被重写 
      private 类型的方法都默认为是final方法,因而也不能被子类重写 
      final 修饰的类为最终的类, 不能被继承

    4. static 修饰符

      如果声明了静态方法或变量,值是放在方法区,因为方法区是一个数据共享区;所以不管什么变量访问它,都是同一份. 
      在静态方法中不能直接访问实例方法和实例变量. 
      在静态方法中不能使用 this 和 super 关键字. 
      静态方法不能被 abstract 修饰. 
      静态的成员变量可以使用类名或者是对象进行访问,非静态成员变量只能使用对象进行访问. 
      静态函数可以直接访问静态的成员,但是不能够直接访问非静态成员.,非静态函数可以访问静态和非静态成员. 
      当类被加载时,静态代码块只能被执行一次。类中不同的静态方法代码块按他们在类中出现的顺序被依次执行. 
      当多个修饰符连用时,修饰符的顺序可以颠倒,不过作为普遍遵守的编码规范,通常把访问控制修饰符放在首位,其次是 static 或 abstact 修饰符,接着就是其他的修饰符

      注意:以下修饰符一起用是无意义的,会导致编译错误: 
      abstract 与 private 
      abstract 与 final 
      abstract 与 static

    展开全文
  • java 权限修饰符

    2016-04-20 19:57:14
    访问权限修饰符权限从高到低排列是public ,protected ,friendly, private。 一个Java应用有很多类,但是有些类,并不希望被其他类使用。每个类中都有数据成员和方法成员,但是并不是每个数据和方法,都允许在...

    允许所有外部类访问使用public

    允许子类和同包类访问使用protected

    只能自己访问使用private

    访问权限修饰符权限从高到低排列是public  ,protected  ,friendly, private。

    一个Java应用有很多类,但是有些类,并不希望被其他类使用。每个类中都有数据成员和方法成员,但是并不是每个数据和方法,都允许在其他类中调用。如何能做到访问控制呢?就需要使用访问权限修饰符。

    Java语言中的访问权限修饰符有4种,但是仅有3个关键字,因为不写访问权限,在Java中被称为默认权限,或同包权限,本文中以(default)代替。下面按照权限从小到大的顺序对4中访问权限分别介绍。

    1.私有权限(private

    private可以修饰数据成员,构造方法,方法成员,不能修饰类(此处指外部类,不考虑内部类)。private修饰的成员,只能在定义它们的类中使用,在其他类中不能调用。

    2.默认权限(default

    类,数据成员,构造方法,方法成员,都能够使用默认权限,即不写任何关键字。默认权限即同包权限,同包权限的元素只能在定义它们的类中,以及同包的类中被调用。

    3.受保护权限(protected

    protected可以修饰数据成员,构造方法,方法成员,不能修饰类(此处指外部类,不考虑内部类)。protected修饰的成员,能在定义它们的类中,同包的类中被调用。如果有不同包的类想调用它们,那么这个类必须是定义它们的类的子类。

    4.公共权限(public

    public可以修饰类,数据成员,构造方法,方法成员。被public修饰的成员,可以在任何一个类中被调用,不管同包或不同包,是权限最大的一个修饰符。

     

    有关Java语言的修饰符,需要注意的问题有如下几个:

    1.并不是每个修饰符都可以修饰类(指外部类),只有publicdefault可以。

    2.所有修饰符都可以修饰数据成员,方法成员,构造方法。

    3.为了代码安全起见,修饰符不要尽量使用权限大的,而是适用即可。比如,数据成员,如果没有特殊需要,尽可能用private

    4.修饰符修饰的是被访问的权限。

     

     

    类、方法、成员变量和局部变量的可用修饰符

     

    修饰符

    成员访求

    构造方法

    成员变量

    局部变量

    abstract (抽象的)

    static (静态的)

    public (公共的)

    protected (受保护的)

     

    private (私有的)

    synchronized (同步的)

    native (本地的)

    transient (暂时的)

    volatie (易失的)

    final (不要改变的)

    Java抽象类的构造方法和普通类的构造方法一样

    都是用来初始化类

    只是抽象类的构造方法不能直接调用 因为抽象类不能实现实例

    但是一旦一个普通类继承了抽象类 便也可以在构造函数中调用其抽象类的构造函数

    也可以使用其方法


    可以这么理解吧 抽象类就是一个不能实例化的类

    不过如果方法加了abstract那么就必须在子类里面重写了


    类 的修饰符整合

    一.类

    类的修饰符:

    Public : 可以在其他任何类中使用,默认为统一包下的任意类。

    Abstract: 抽象类 ,不能被实例化,可以包含抽象方法,抽象方法没有被实现,无具体功能,只能衍生子类。

    Final : 不能被继承。

    二.变量

    变量修饰符:

    一个类的成员变量的声明必须在类体中,而不能在方法中,方法中声明的是局部变量 。

    1.       可访问修饰符:

    2.       static :类变量 :一个类所拥有的变量,不是类的每个实例有的变量。类变量是指不管类创建了多少对象,系统仅在第一次调用类的时候为类变量分配内存,所有对象共享该类的类变量,因此可以通过类本身或者某个对象来访问类变量。

    3.       final :常量 。

    4.       volatile :声明一个可能同时被并存运行的几个线程所控制和修改的变量。

    实例变量 :和类变量对应,即每个对象都拥有各自独立的实例变量。

    三.方法: (和变量对象分为实例方法和类方法,并用有无static 修饰区别)

    类方法 :使用static 关键字说明的方法

    1. 第一次调用含类方法的类是,系统只为该类创建一个版本,这个版本被该类和该类的所有实例共享。

    2. 类方法只能操作类变量,不能访问实例变量。类方法可以在类中被调用,不必创建实例来调用,当然也可以通过对象来调用。

    实例方法 :实例方法可以对当前对象的实例变量操作,而且可以访问类变量。

    方法可以重载 ,要求:方法名相同,但是参数必须有区别。(参数不同可以使类型不同,顺序不同,个数不同)

    方法的返回类型:若无返回类型,则声明为void.

    方法中的变量作用域:

    1.       成员变量:整个类。

    2.       局部变量:定义起到方法块结束为止。

    3.       方法参数:整个方法或者构造方法。

    4.       异常处理参数:参数传递给异常处理方法。

    构造方法 :和类同名的方法。为新建对象开辟内存空间后,用于初始化新建的对象。不能用对象显式的调用。

    静态初始化器 :格式:static{< 赋值语句组>}

    静态初始化器与构造方法的区别: 

     

    静态初始化器

    构造方法

    对类的静态域初始化

    对新建的对象初始化

    类进入内存后,系统调用执行

    执行new 后自动执行

    属特殊语句(仅执行一次)

    属特殊方法

     

    方法的修饰符:

    抽象方法: 用abstract 修饰,只有声明部分,方法体为空,具体在子类中完成。

    类方法: 静态方法,用static 修饰,

    1.       调用时,使用类名作为前缀,而不是类的某个实例对象名

    2.       不能被单独对象拥有,属于整个类共享。

    3.       不能处理成员变量。

    最终方法 :用final 修饰,不能被子类重新定义的方法。

    本地方法 :用native 修饰的方法,表示用其他语言书写的特殊方法,包括C ,C++ ,FORTRAN ,汇编语言等。

    四.类成员的访问控制符 :

    即类的方法和成员变量的访问控制符,一个类作为整体对象不可见,并不代表他的所有域和方法也对程序其他部分不可见,需要有他们的访问修饰符判断。

    权限如下: 

     

    访问修饰符

    同一个类

    同包

    不同包,子类

    不同包,非子类

    private

     

     

     

    protected

     

    public

    默认

     

     

     


    展开全文
  • Java 权限修饰符

    2019-02-26 15:21:58
    Java语言中的访问权限修饰符有4种,但是仅有3个关键字,因为不写访问权限,在Java中被称为默认权限,或同包权限,本文中以(default)代替。下面 按照权限从小到大的顺序对4中访问权限分别介绍: (1)私有权...

    Java应用有很多类,但有些类并不希望被其他类使用。每个类中都有数据成员和方法成员,但是并不是每个数据和方法,都允许在其他类中调用。如何能做到访问控制呢?就需要使用访问权限修饰符。


    Java语言中的访问权限修饰符有4种,但是仅有3个关键字,因为不写访问权限,在Java中被称为默认权限,或同包权限,本文中以(default)代替。下面 按照权限从小到大的顺序对4中访问权限分别介绍:


    (1)私有权限 private:private可以修饰数据成员,构造方法,方法成员,不能修饰类(此处指外部类,不考虑内部类)。被private修饰的成员,只能在定义它们的类中使用,在 其他类中不能调用。


    (2)默认权限 default:类,数据成员,构造方法,方法成员,都能够使用默认权限,即不写任何关键字。默认权限即同包权限,同包权限的元素只能在定义它们的类中,以及同包 的类中被调用。


    (3)受保护权限 protected:protected可以修饰数据成员,构造方法,方法成员,不能修饰类(此处指外部类,不考虑内部类)。被protected修饰的成员,能在定义它们的类中,同包 的类中被调用。如果有不同包的类想调用它们,那么这个类必须是定义它们的类的子类。


    (4)公共权限 public:public可以修饰类,数据成员,构造方法,方法成员。被public修饰的成员,可以在任何一个类中被调用,不管同包或不同包,是权限最大的一个修饰符。

     

     

    有关Java语言的修饰符,需要注意的问题有如下几个:
    (1)并不是每个修饰符都可以修饰类(指外部类),只有public和default可以。
    (2)所有修饰符都可以修饰数据成员,方法成员,构造方法。
    (3)为了代码安全起见,修饰符不要尽量使用权限大的,而是适用即可。比如,数据成员,如果没有特殊需要,尽可能用private。
    (4)修饰符修饰的是“被访问”的权限。

     

     

    展开全文
  • java规定的四种权限修饰符 权限从小到大顺序为:private < 缺省 < protected < public 具体的修饰范围: 修饰符 类中 同包 不同包的子类 不同包非子类 public Y Y Y Y protected Y Y Y N ...

    java规定的四种权限修饰符

    1. 权限从小到大顺序为:private < 缺省 < protected < public
    2. 具体的修饰范围:
    修饰符 类中 同包 不同包的子类 不同包非子类
    public Y Y Y Y
    protected Y Y Y N
    default Y Y N N
    private Y N N N
    1. 权限修饰符可用来修饰的结构:
    • 4种权限都可以用来修饰类的内部结构:属性、方法、构造器、内部类
    • 修饰类的话,只能使用:default和public
    展开全文
  • Java 权限修饰符详解

    2013-04-06 14:01:18
    java语言中有四种访问权限的等级控制,从权限的大到小顺序依次是: public:对所有访问者都是...其中package-private 是默认访问权限即不带修饰符的情况(默认访问权限有些人上说成可成default 或 friendly 但本人觉得
  • Java中四种权限修饰符的大小排列顺序 private<default<product<public
  • JAVA中的权限修饰符

    万次阅读 多人点赞 2016-06-24 20:11:33
    Java修饰符总结: 访问控制修饰符 作用: 用于控制被修饰变量、方法、类的可见范围。 public的访问级别是最高的,其次是protected、默认和private 成员变量和成员方法可以处于4个访问级别中的一个:公开、受保护...
  • java四种权限修饰符

    千次阅读 2017-02-17 22:10:26
    访问权限修饰符 ①public:意为公开的,访问权限最高,可以跨包访问。 ②protect:意为受保护的,权限次之,可以在同包和子/父类中访问。 ③default:意为默认的,一般不写,权限次之,可以在同包中访问。 ④...
  • Java权限修饰符

    2016-04-28 22:13:15
    Java权限修饰符:public,默认,protected,private。 java中的修饰符:abstract,final,static。abstract:只有抽象类和抽想方法,继承抽象类必须实现所有的抽象方法。final:final类无法被继承,final的方法...
  • Java中提供了四种访问权限,使用不同的访问权限修饰符修饰时,被修饰的内容会有不同的访问权限, public:公共的。 protected:受保护的 default:默认的 private:私有的 1.2不同权限的访问能力 位置 ...
  • Java中共有四个权限修饰符,分别是private, default(表示不写), protected, public,访问权限范围由小到大。下面我们分别介绍权限修饰符修饰类、修饰成员修饰构造器的情况。 一、修饰类 修饰类只有两个权限修饰...
  • Java修饰符顺序

    2020-03-05 15:04:05
    Java修饰符分为几个层次: 1、外权限:public、protected、【空】、private 2、外表现:synchronized、【空】 3、内实现:abstract、native、【空】 4、静态:static、【空】 5、访问约束:final、volatile、...
  • 访问权限修饰符(权限顺序从大到小) (1)public:公共权限 用来修饰类、属性、方法。 (可以被任意类访问) (2)protected:受保护的权限 修饰属性、方法。 可以被同包类访问,如果不是同包类,必须是该类的子类才...
  • 本文包含了 Java权限修饰符、内部类与代码块的相关题目。。。
  • Java访问权限修饰符

    2017-03-08 21:10:45
    成员为protected修饰时,他的权限比默认的修饰符要大,所以在包类都可以访问。但是值得注意的是,在包外中,只有子类对象可以访问父类的protected修饰的成员,父类对象却不可以,这个就是最大的差别,大家一定要注意...
  • java中的权限修饰符

    2012-09-03 21:05:14
    Java语言中的访问权限修饰符有4种,但是仅有3个关键字,因为不写访问权限,在Java中被称为默认权限,或同包权限,本文中以(default)代替。下面按照权限从小到大的顺序对4中访问权限分别介绍。 1.私
  • 有朋友问我,Java修饰符访问权限到底是怎么排的,我说从大到小public&gt;protected&gt;friendly&gt;private。朋友突然问我,有friednly?我一本正经(xia che)说,书上写的(也不知道当时从哪里看来的...
  • java—四种权限修饰符

    2020-04-03 16:58:17
    java—四种权限修饰符 Jav共有四种权限修饰符,权限由小到大依次是private,缺省(default),protected,public 四种权限可以用来修饰类及类的内部结构:属性,方法,构造器,内部类 具体的,4种权限都可以用来...
  • 说到权限修饰符 首先需要引入的是包的概念 什么是包? 通俗来讲 其实就是文件夹 在java中用package关键字来标识 用来将字节码进行分类存放 包的格式:package 包名(如果有多级的话 中间用.分隔) 比如:...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 31,879
精华内容 12,751
关键字:

java权限修饰符的顺序

java 订阅