java 类、属性、方法修饰符总结

修饰符可以分为访问修饰符(访问控制符)和非访问修饰符(非访问控制符)

访问修饰符:顾名思义如果在根据访问范围内可以控制访问。

非访问修饰符:实现一些其他的功能。

一、类修饰符

       访问修饰符:public、默认修饰符            非访问修饰符有: abstract 、 final

      1、public(公共类修饰符/权限修饰符) : 一个java文件可以写多个类,但是只能有一个类是用public进行修饰的(也就是所说的主类),且这个类需要和文件名保持一致。表示所有包中的类都可以访问。

      2 、abstract (抽象类修饰符):用 abstract 修饰符修饰类表示该类是一个抽象类。所谓抽象类是指没有实例的抽象概念类    (没有具体对象)。

            注意:一个抽象类中可以没有抽象方法,但是有抽象方法的类必须是一个抽象类

      3、 final (最终类修饰符):如果一个类被final进行修饰表示该类是最终类,不能被继承。

      4、类缺省(没有public)访问控制符:如果一个类没有访问控制符,说明它具有缺省的访问控制符特性。表示该类只能被本包中的其他类来进行访问。这一访问特性又称为包访问性。

在定义一个类的成员(包括属性(变量)和方法)时,可以使用private(私有修饰符)、protected(保护访问修饰符)、public(权限修饰符)等关键字说明这个成员的访问权限。

  访问范围:

        public:可被所有类引用;
        protected:可被该类自身、子类(只能在子类中通过子类对象来调用)、同一包中的其他类引用;
        缺省(没有访问控制符):可被该类自身、本包中的类引用;
        private:仅可被该类自身引用和修改,不能被其他任何类(包括子类)引用。

二、属性修饰符

  访问修饰符: public、 private、 protected、 private protected、默认修饰符

  非访问修饰符: static、 final 、 volatile 、 transient

      1、 public(权限修饰符) :用 public 修饰的域称为公共域。如果公共域属于一个公共类,则可以被所有其它类所引用。由于 public 修饰符会降低运行的安全性和数据的封装性,所以一般应减少 public 域的使用。

      2、 private(私有修饰符) : 仅可被该类自身引用和修改,不能被其他任何类(包括子类)引用。

      3、 protected (保护访问修饰符)可被该类自身、子类(只能在子类中通过子类对象来调用)、同一包中的其他类引用。

      4、 private protected(私有保护访问修饰符) :可被该类本身或该类的子类两种类访问和引用。

      5、缺省(没有访问控制符):可被该类自身、本包中的类引用。

      6、static (静态域修饰符 ):类成员变量,对所有的实例一致,引用是前缀可使用类名或对象名。

注意:用 static修饰的成员变量仅属于类的变量,而不属于任何一个具体的对象,静态成员变量的值是保存在类的内存区域的公共存储单元,任何一个类的对象访问它时取到的都是相同的数据;任何一个类的对象修改它时 , 也都是对同一个内存单元进行操作。

      6、 final (最终域修饰符):数值不变常量,定义同时应对其进行初始化,不一定,也可以利用构造函数给不同的对象赋不同的值。

      7、 volatile (易失 ( 共享 ) 域修饰符):是用来说明这个成员变量可能被几个线程所控制和修改。在使用中要注意这种成员变量取值的变化。通常 volatile 用来修饰接受外部输入的域。

      8、 transient (暂时性域修饰符):用修饰符transient 限定的暂时性变量,将指定 Java虚拟机认定该暂时性变量不属于永久状态,以实现不同对象的存档功能。否则,类中所有变量都是对象的永久状态的一部分,存储对象时必须同时保存这些变量。

三、方法修饰符

   访问修饰符:public 、 private、 protected 、 private protected

   非访问修饰符:abstract、static、 final、 native 、synchronized

      1、 abstract (抽象方法控制符):抽象方法,只有方法的定义而没有方法体和操作实现。需要在子类中通过重写该方法来实现。

      2、 static(静态方法控制符) :静态方法,又称类方法。前缀可使用类名或对象名。在方法体中只能使用类的static变量和static方法。静态方法是属于整个类的类方法;而不使用static 修饰、限定的方法是属于某个具体类对象的方法。

      3、 final (最终方法修饰符):所有被 private 修饰符限定为私有的方法,以及所有包含在 final 类 中的方法,都被认为是最终方法。最终方法是功能和内部语句不能更改的方法,即最终方法不能重载(子类中不能重新定义该方法)。固定了这个方法所具有的功能和操作,防止当前类的子类对父类关键方法的错误定义,保证了程序的安全性和正确性。

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

      5、 synchronized(同步方法修饰符) :该修饰符主要用于多线程共存的程序中的协调和同步。

   

猜你喜欢

转载自blog.csdn.net/HY845638534/article/details/83998716
今日推荐