A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© Toxicant 中级黑马   /  2016-9-7 01:59  /  834 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

能否详解一下static关键字,以及它的各种用法和与final的区别?

3 个回复

倒序浏览
static修饰的成员变量、成员函数都属于类,也没法使用this引用
final修饰的类属于最终类,不能被继承
final修饰的方法不能被子类重写
final修饰的成员变量不能改变
final修饰的引用数据类型,地址值不变
回复 使用道具 举报 1 0
static指的是静态:而静态是指随着类的加载而加载,而加载的时候还没有创建对象,所以说是优先于对象存在
         静态方法只能访问静态变量和静态成员
         关于静态主要要知道他的访问权限还有他优先于对象存在,所以不能通过this调用,用静态修饰的可以直接通过类名进行调用,静态变量存储的位置是在方法区的静态区,知道这些目前可以了。
比如有个类叫Animal里面有被static修饰的成员方法eat和成员变量age,可以通过Animal.eat()和Animal.age直接调用
而final可以修饰类,被修饰的类不能被继承
           修饰变量,变量会变成常量
           修饰方法,方法不能被重写


回复 使用道具 举报
为什么static不能去修饰类?因为static是随着类的加载而加载所以不能??
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马