final、static的相关知识

fina static

final

1.final为实例域
2.final修饰的类是不能被继承的,final类中的方法都是默认为final。
3.final的方法不能被子类方法所覆盖,但是可以被继承使用。
4.final修饰的变量为常量,只能为赋值一次。
如果final修饰的成员属性在定义时候没有赋值,那么只能在构造代码块和构造方法里面赋值.
5.final修饰的对象是不能被重新引用。但是对象里面的属性可以被修改的。

6.private的方法默认是final,所以不能被子类的方法覆盖。

static

1.static表示静态或者全局。
2.当static修饰属性,属性则为类属性,但不是对象属性。static定义的方法为类方法。两者调用最好用class.method/property的方法来调用
3.static不能修饰class 也不能修饰方法内的局部变量。
4.static定义的方法为类方法
5.静态方法中不能访问非静态成员,而非静态方法中可以访问静态成员。
6.如果访问只能对象实例化后才能访问举例7.static修饰出的静态代码块无论实例化多少对象 都只实现一次 而构造代码块每实例化一个对象就执行一次

补充 2019.5.28
static是静态修饰关键字,可以修饰变量和程序块以及类方法:
当定义一个static的变量的时候jvm会将将其分配在内存堆上,所有程序对它的引用都会指向这一个地址而不会重新分配内存;
当修饰一个程序块的时候(也就是直接将代码写在static{…}中)时候,虚拟机就会优先加载静态块中代码;
当修饰一个方法时候,就表示该方法是类方法,可以直接通过类来调用而不需要新建对象。

final可以修饰变量、方法及类,
当定义一个final变量时,jvm会将其分配到常量池中,程序不可改变其值,可以把final定义的变量理解为常量;
当你定义一个方法时,该方法在子类中将不能被重写;
当你修饰一个类时,则表示该类不能被继承

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值