前言
在Java的学习中,我们会接触到众多的修饰符,而在Java中修饰符又分为权限修饰符和状态修饰符,通过对它们的学习,我们能加深对Java的学习。
一、权限修饰符
权限修饰符
1.private,2.默认,3.protected,4.public
同一个类中
1.可以调用,2.可以调用, 3.可以调用 ,4.可以调用
同一个包中子类无关类
1.不可以 ,2.可以调用,3.可以调用 ,4.可以调用
不同包的子类
1.不可以,2.不可以,3.可以调用, 4.可以调用
不同包的无关类
1.不可以 ,2.不可以,3.不可以 ,4.可以调用
注意:以数字为基准,相同数字归属一起
二、状态修饰符
final(最终态)
概况:关键字是最终的意思,可以修饰成员变量,成员方法和类
修饰方法:表明了方法是最终方法,方法不能被重写
修饰变量:表明该变量是常量,变量不能在被赋值
修饰类:表明该类是最终类,本类不能被继承
修饰局部变量
final修饰的基本数据类型,那么该变量的值不能改变。
final修饰的引用型数据,那么该数据的地址值不能改变,但其内容可以改变。
注意事项
1.final修饰的属性又叫常量,一般用XX_XX来命名
2.final修饰的属性在定义时,必须赋初值,并且以后不能再更改,赋值可以在如下位置(1.定义的时候。如public final double TAX_RATE=0.82.在构造器中3.在代码块中)
3.如果final修饰的属性时静态的,则初始化的位置只能是(1.定义时2.在静态代码块 不能在构造器中赋值)
4.final类不能继承,但是可以实例化对象
5.如果类不是final类,但是含有final方法,则该方法虽然不能重写,但是可以被继承
6.如果一个类已经是final类了,就没有必要再将方法修饰成final方法。
7.final不能修饰构造方法(即构造器)
8.final和static往往搭配使用,效率更高,不会造成类加载,底层编译器做了优化处理。(class Demo{public static final int i=16; static{System.out.println(“人生无常”);}})
9.包装类(Integer,Double,Float,Boolean等都是final),String也是final类)
static(静态)
static的访问特点:
非静态的成员方法:
可以访问非静态的变量
可以访问静态的变量
可以访问非静态的方法
可以访问静态的方法
静态的成员方法:
可以访问静态的成员变量和成员方法
static关键字
概述:
关键字是静态的意思,可以修饰成员方法和成员变量
修饰的特点
被类的所有对象共用(这也是我们是否使用静态关键字的关键)
使用类名的方式调用(类名.被调用的名称)
总结
熟练运用这些权限修饰符和状态修饰符能让我们对代码的设计更加的合理,同时能使得程序更加的流畅。这些都是比较基础的知识,希望能给大家提供一点帮助。望诸君多多使用!