Java基础知识(一)

1.static静态区域和花括号区域代码的区别

static{

  //代码内容
  //........
  //代码结束
}
静态代码域,在类的加载的时候调用一次,整个生命周期只会调用一次。
{
  //代码内容
  //........
  //代码结束
}
普通代码域,在类的每个对象创建的时候调用。

代码域中定义的变量都是局部的,只有域中的代码可以调用。


2.final基本用法

(1)修饰类

当用final修饰一个类时,表明这个类不能被继承。也就是说,如果一个类你永远不会让他被继承,就可以用final进行修饰。final类中的成员变量可以根据需要设为final,但是要注意final类中的所有成员方法都会被隐式地指定为final方法。


在使用final修饰类的时候,要注意谨慎选择,除非这个类真的在以后不会用来继承或者出于安全的考虑,尽量不要将类设计为final类。




(2)修饰方法


这说明父类的方法中声明了final,子类不可重写该方法


(3)修饰属性

修饰变量是final用得最多的地方,也是本文接下来要重点阐述的内容。首先了解一下final变量的基本语法:

  对于一个final变量,如果是基本数据类型的变量,则其数值一旦在初始化之后便不能更改;如果是引用类型的变量,则在对其初始化之后便不能再让其指向另一个对象。









3.final和static的区别

 很多时候会容易把static和final关键字混淆,static作用于成员变量用来表示只保存一份副本,而final的作用是用来保证变量不可变。看下面这个例子:


输出结果
0.12450947485468256
0.20118062799981773
0.8372244594493871
0.20118062799981773

运行这段代码就会发现,每次打印的两个j值都是一样的,而i的值却是不同的。从这里就可以知道final和static变量的区别了。
总结:
MyClass类的实例,每一次使用static的变量的时候,都是MyClass的副本
而final变量不同,它只是变量的值一旦定义下来,后续不能改变。














  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值