VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > 编程开发 > Java教程 >
  • public、protected、defalt、private、static、final、abstract关键字概念解析、用法解析

修饰符

java语言提供了很多修饰符,主要分为访问修饰符和非访问修饰符。修饰符用来定义类、方法或变量,通常放在语句的最前端。

访问修饰符

Java支持4种不同的访问权限:private、default、protected、public。4个访问控制级别中的default并没有对应的访问控制符,当不使用任何访问控制符来修饰类或类成员时,系统默认使用该访问控制级别。

private修饰符

private(当前类访问权限):如果类里的一个成员(包括Field、方法和构造器等)使用private访问控制符来修饰,则这个成员只能在当前类的内部被访问。很显然,这个访问控制符用于修饰Field最合适,使用它来修饰Field就可以把Field隐藏在该类的内部。

default修饰符

default(包访问权限):如果类里的一个成员(包括Field、方法和构造器等)或者一个外部类不使用任何访问控制符修饰,我们就称它是包访问权限,default访问控制的成员或外部类可以被相同包下的其他类访问;default不能修饰变量。

protected修饰符

protected(子类访问权限):如果一个成员(包括Field、方法和构造器等)使用protected访问控制符修饰,那么这个成员既可以被同一个包中的其他类访问,也可以被不同包中的子类访问。在通常情况下,如果使用protected来修饰一个方法,通常是希望其子类来重写这个方法;

public修饰符

public(公共访问权限):这是一个最宽松的访问控制级别,如果一个成员(包括Field、方法和构造器等)或者一个外部类使用public访问控制符修饰,那么这个成员或外部类就可以被所有类访问,不管访问类和被访问类是否处于同一个包中,是否具有父子继承关系。最后,我们使用如下表来总结上述的访问控制级别。

非访问修饰符

为了实现一些其他的功能,Java 也提供了许多非访问修饰符。

static修饰符

static 修饰符,用来修饰类方法和类变量。static的真正作用就是用于区分Field、方法、内部类、初始化块这四种成员到底属于类本身还是属于实例。在类中定义的成员,有static修饰的成员属于类本身,没有static修饰的成员属于该类的实例。static修饰符可以修饰属性(为静态属性),方法(为静态方法),和代码块(为静态代码块)。有以下特点:

  • static修饰的变量属于类变量,多个对象共享同一个static变量;
  • static修饰的方法属于静态方法,静态方法不能重写(不属于某个对象),不能使用this关键字(无法指向合适的对象);
  • 可以直接通过“类名 . 属性/方法”的方式访问静态属性和静态方法,不需要创建类的对象;
  • 静态成员不能直接访问非静态成员。静态成员属于类,不需要生成对象就存在了,而非静态需要生成对象才产生. 所以静态成员不能直接访问

final修饰符

final 修饰符,意思是最终的、不可修改的,最见不得变化,用来修饰类、方法和变量,有以下特点:

  • final修饰的类不能被继承,final类中的所有成员方法都会被隐式地指定为final方法;
  • final修饰的方法不能被重写;
  • final修饰的变量是常量,如果是基本数据类型的变量,则其数值一旦在初始化之后便不能更改;如果是引用类型的变量,则在对其初始化之后便不能再让其指向另一个对象。

abstract修饰符

abstract 修饰符,用来创建抽象类和抽象方法。有以下特点:

  • abstract修饰的类是抽象类,抽象类可以继承别的普通类或抽象类,也可以实现接口,但抽象类不可以实例化;
  • abstract修饰的方法是抽象方法,抽象方法没有方法体;
  • 抽象类不一定有抽象方法,有抽象方法的类必须是抽象类;

作者:-亚州Asu-
出处:https://www.cnblogs.com/yazhouasu/


相关教程