Summary!Java的接口、类、属性、方法的修饰符

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/J080624/article/details/82225112

【1】接口的修饰符

接口的修饰符只有:public和缺省修饰符。

接口中的方法都为抽象方法,子类必须实现这些方法。

[public] interface MyInterface{

    [abstract]void myMethod();//abstract is redundant
}

【2】类的修饰符

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

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

非访问控制符有:抽象类修饰符 abstract ;最终类修饰符 final

① 公共类修饰符 public

Java 语言中类 的可访问控制符只有一个: public 即公共的。

每个 Java 程序的主类都必须是 public 类,作为公共工具供其它类和程序使用的应定义为 public 类。


② 抽象类修饰符 abstract

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


③ 最终类修饰符 final

当一个类不可能有子类时可用修饰符 final 把它说明为最终类。被定义为 final 的类通常是一些有固定作用、用来完成某种标准功能的类。


④ 类缺省访问控制符

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

[public] [abstract|final] class MyClass implements MyInterface {

    @Override
    public void myMethod() {

    }

}

⑤ 内部类

如果一个类为内部类,则可以使用public,protected、default、private、abstract、static、final等修饰 。


【3】属性的修饰符

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

可访问控制符有 4 种:

  • 公共访问控制符: public ;
  • 私有访问控制符: private ;
  • 保护访问控制符: protected ;
  • 缺省访问控制符 : default

非访问控制符有 4 种:

  • 静态域修饰符: static ;
  • 最终域修饰符: final ;
  • 易失 ( 共享 ) 域修饰符: volatile ;
  • 暂时性域修饰符: transient

① 公共访问控制符 public

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


② 私有访问控制符 private

用 private 修饰的成员变量 ( 域 ) 只能被该类自身所访问,而不能被任何其它类 ( 包括子类 ) 所引用。


③ 保护访问控制符 protected

用 protected 修饰的成员变量可以被三种类所引用:

  • 该类自身;
  • 与它在同一个包中的其它类;
  • 在其它包中的该类的子类。

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


④ 缺省访问控制符default

用 default修饰的成员变量可以被在同一个包中的其它类引用。


⑤ 静态域修饰符 static

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


⑥ 最终域修饰符 final

最终域修饰符 final 是用来定义符号常量的。一个类的域 ( 成员变量 ) 如果被修饰符 final 说明,则它的取值在程序的整个执行过程中都是不变的。


⑦ 易失 ( 共享 ) 域修饰符 volatile

易失 ( 共享 ) 域修饰符 volatile 是用来说明这个成员变量可能被几个线程所控制和修改。也就是说在程序运行过程中,这个成员变量有可能被其它的程序影响或改变它的取值。因此,在使用中要注意这种成员变量取值的变化。通常 volatile 用来修饰接受外部输入的域。


⑧ 暂时性域修饰符 transient

暂时性域修饰符 transient 用来定义一个暂时性变量。

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


私有保护访问控制符 private protected

有的地方提到组合体,private protected。其释义为:用修饰符 private protected 修饰的成员变量可以被该类本身或该类的子类两种类访问和引用。

但是已经不再可用,故无需理会!


【4】方法的修饰符

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

可访问控制符有 4 种

  • 公共访问控制符: public ;
  • 私有访问控制符: private ;
  • 保护访问控制符: protected ;
  • 缺省访问控制符:default

同样无需理会组合体,private protected。

非访问控制符有 5 种

  • 抽象方法控制符: abstract ;
  • 静态方法控制符: static ;
  • 最终方法控制符: final ;
  • 本地方法控制符: native ;
  • 同步方法控制符: synchronized

可访问控制符参考属性中的可访问控制符介绍。下面介绍非访问控制符的五种。

① 抽象方法控制符 abstract

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


② 静态方法控制符 static

用修饰符 static 修饰的方法称为静态方法

。静态方法是属于整个类的类方法;而不使用 static 修饰、限定的方法是属于某个具体类对象的方法。

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


③ 最终方法控制符 final

用修饰符 final 修饰的方法称为最终方法。

最终方法是功能和内部语句不能更改的方法,即最终方法不能重载。

这样,就固定了这个方法所具有的功能和操作,防止当前类的子类对父类关键方法的错误定义,保证了程序的安全性和正确性。所有被 private 修饰符限定为私有的方法,以及所有包含在 final 类 ( 最终类 ) 中的方法,都被认为是最终方法。


④ 本地方法控制符 native

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


⑤ 同步方法控制符 synchronized

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


这里写图片描述

猜你喜欢

转载自blog.csdn.net/J080624/article/details/82225112
今日推荐