java常见修饰符(final、static)

目录

final关键字

作用

修饰效果

注意事项和细节讨论 

static关键字

概念

特点

访问特点


final关键字

作用

final代表最终的意思,可以修饰成员方法,成员变量,类。

修饰效果

final修饰类:

表明该类是最终类,不能被继承(不能有子类,但可以有父类)。

final修饰方法:

final修饰方法:表明该方法是最终方法,不能被重写。

final修饰变量:

final修饰变量:表明该变量是一个常量,不能再次赋值。

final修饰局部变量:

  • 变量是基本类型

final 修饰指的是基本类型的数据值不能发生改变。

  • 变量是应用类型

final 修饰指的是引用类型的地址值不能发生改变,但是地址里面的内容是可以发生改变的。

注意事项和细节讨论 

1.final修饰的属性又叫常量,一般用XX_XX(大写)来命名。

2.final修饰的属性在定义时,必须赋初值,并且以后不能再修改,赋值可以在如下位置之一:(定义时、在构造器中、在代码块中)。

3.如果final修饰的属性是静态的,则初始化的位置只能是:(1)定义时 (2)在静态代码块  不能在构造器中赋值。

4.final类不能被继承,但可以实例化对象。

5.如果类不是final类,但含有final方法,则该方法不能被重写,但可以被继承。

6.如果一个类已经是final类,没必要再将方法修饰成final方法。

7.final不能修饰构造方法。

8.final和static往往搭配使用,效率更高,不会导致类加载。底层编译器做了优化处理。

9.包装类(Integer,Double,Float,Boolean等都是final),String也是final类。


static关键字

概念

static是一个修饰符,用于修饰类的成员方法、类的成员变量、代码块等。不能修饰构造方法。

特点

1. 被类的所有对象共享,这也是我们判断是否使用静态关键字的条件。

2. 可以通过类名调用。当然,也可以通过对象名调用【推荐使用类名调用】。

  • 示例代码
class Student {

    public String name; //姓名
    public int age; //年龄
    public static String university; //学校	共享数据!所以设计为静态!

    public void show() {
        System.out.println(name + "," + age + "," + university);
    }

}

public class StaticDemo {
    public static void main(String[] args) {
	    // 为对象的共享数据赋值
        Student.university = "宠物学院";

        Student s1 = new Student();
        s1.name = "加菲猫";
        s1.age = 4;
        s1.show();

        Student s2 = new Student();
        s2.name = "史努比";
        s2.age = 6;
        s2.show();
    }
}

访问特点

非静态的成员方法:

能访问静态&非静态的成员变量; 能访问静态&非静态的成员方法。

静态的成员方法:

只能访问静态的成员变量; 只能访问静态的成员方法。

总结:静态成员方法只能访问静态成员。

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值