在Java中,关于修饰符可以分为访问修饰符与非访问修饰符两种
一、访问修饰符
通过访问修饰符,我们可以对不同的类或者方法属性来对其权限进行一定的限制。在Java中,访问修饰符有四种:
public
:公共成员修饰符,对所有的类都可见private
:私有成员修饰符,在同一类中可见protected
:保护成员修饰符,对同一包中的类和之类可见default
:默认,在同一包内可见
访问修饰符可以对类、属性、方法进行修饰,不过对其的使用是有一定的限制的,需要在正确的条件下使用正确的修饰符,这样才能帮助我们更好的写好程序
Java访问修饰符限制
- 在Java中,一个源文件中只能有一个公共类(由
public
修饰的类)private
修饰的成员变量或者方法不能被继承- 父类中声明为 public 的方法在子类中也必须为
public
- 父类中声明为 protected 的方法在子类中要么声明为
protected
,要么声明为public
,不能声明为private
。- 父类中声明为
private
的方法,不能够被继承
二、非访问修饰符
非访问修饰符主要是对于成员的一些特殊属性的修饰,主要功能也是为了完成一些特殊任务,主要有下面几种:
final 修饰符:
该修饰符主要是用来对常量进行修饰的,当我们使用final
时,可以用来定义一个常量,这样可以避免不小心修改某一常量的值的情况。如下,在尝试修改final
修饰的常量时,编辑器直接给出错误提示:
final
修饰符对于类或方法的使用时,同样也是有一些特性需要了解:
- 关于
final
修饰方法时,父类中的final
方法可以被子类继承,但是不能被子类重写。声明final
方法的主要目的是防止该方法的内容被修改final
修饰类时,者该类不能被继承
abstract修饰符:
abstract
从字面可以翻译为抽象,事实也是如此。在Java中可以使用该修饰符来对类、属性、方法来进行修饰,其主要的功能是为了将来对于该类进行一定的补充,主要的使用规则如下:
- 关于abstract对于类的修饰需要注意的是,如果一个类中有抽象函数或者方法,那么该类一定要声明为抽象类。
- 对于abstract声明的方法被继承时,一定要全部在子类中实现
具体使用方式为:
abstract class dmeo
{
abstract void print();
}
class Class02 extends dmeo {
void print()
{
System.out.println("print()方法一定要在之类中实现");
}
}
static修饰符:
静态修饰符用来修饰静态变量和静态方法,两者在使用时主要是有如下特点:
静态变量:
- static 关键字用来声明独立于对象的静态变量,无论一个类实例化多少对象,它的静态变量只有一份拷贝。 静态变量也被称为类变量。局部变量不能被声明为 static 变量。
静态方法:
- static 关键字用来声明独立于对象的静态方法。静态方法不能使用类的非静态变量。静态方法从参数列表得到数据,然后计算这些数据
而对于静态类,在Java中只有内部类可以被声明为静态类