Java——面向对象(7).static和final

static:静态的
1)静态变量:
1.1)由static修饰
1.2)属于类,存在方法区中,只有一份
1.3)常常通过类名.来访问(也可以通过引用访问)
1.4)所有对象都一样时使用
2)静态方法:
2.1)由static修饰
2.2)属于类,存在方法区中,只有一份
2.3)常常通过类名.来访问(也可以通过引用访问)
2.4)没有隐式的this传递
静态方法不能直接访问实例成员
2.5)方法的操作与参数相关与对象无关时使用

3)静态块:
3.1)由static修饰
3.2)属于类,类被加载的时候自动执行,
类只加载一次,所以静态块也只执行一次
3.3)常常用于加载静态资源(图片,音频)

final:不能变
1)修饰变量:变量不能被改变
修饰成员变量两种方式初始化;
1。声明的同时初始化
2.构造方法中初始化
修饰局部变量:
只要在用之前给值就可以了

2)修饰方法:
方法不能被重写
防止子类在定义新方法时被不经意的重写
因为在Java中方法被默认是可以重写的
3)修饰类:类不能被继承,但是可以继承别的类(不能当爸爸,只能当儿子)

1static final修饰的成员变量被称为常量,必须声明同时初始化,不可以被改变
static final 常量会在编译期被替换,例如:

class Foo{
public static final int NUM = 100;
}

class Goo{
pubic static void main(string[] args){
System.out.println(Foo.NUM)
}
}
static fanal常量Foo.NUM会在编译时被替换为其常量值(100),在运行Goo类时,Foo类不需要被择如

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值