黑马程序员技术交流社区
标题: Static关键字的学习 [打印本页]
作者: zjj5669436182 时间: 2017-12-7 00:00
标题: Static关键字的学习
Static关键字的学习
作者:一衡
今日学习主要分为三大块:1、基础班知识的回顾;2、static关键字;3、代码块。
一、基础知识的回顾。
主要回顾了
1、方法
方法特点:类中的一段具有特定功能的程序,提高了代码的复用性和可维护性。
方法的调用(直接调用、输出调用、赋值调用);
定义方法需明确两点(返回值类型,参数列表);
方法重载(参数列表必须不同);
2、数组
数组特点:1)、元素类型必须一致
2)、元素有整数索引
3)、一旦定义好长度则无法改变
4)、可以存储基本数据类型
5)、也可以存储引用数据类型
3、定义类
二、static关键字
可以修饰成员变量和成员方法。
1、特点:1)、被static修饰的成员变量属于类,不属于这个类的某个对象(被所有的对象所共享)。
2)、被static修饰的成员可以并且建议通过类名直接访问(可以使用类名调用)。
3)、被static修饰的成员的加载优先于对象,随着类的加载而加载。
2、注意事项:
1)、静态只能调用静态(如果想调用,需得创建对象),非静态可以调用静态的。
2)、静态的方法中是否有this这个对象?没有的。
3、静态优缺点:
1)优点:对对象的共享数据提供单独空间的存储,节省空间,没有必要每一个对象都存储一份。
2)缺点:访问出现局限性。(静态虽好,但只能访问静态)
4、Math(属于java.lang包,不需要导包)
Math常见的方法
static double PI :π值
static double abs(double a) :返回绝对值
static double ceil(double a) : 向上取整
static double floor(double a):向下取整
static long round(double a) :四舍五入
static double max(double a, double b) :两个数的较大值
static double pow(double a, double b) :返回第一个参数的第二个参数次幂
static double random() :返回一个随机数,[0,1)
5、工具类,以static修饰的方法,不要创建对象。
6、类变量与实例变量辨析
A:类变量:其实就是静态变量
定义位置:定义在类中方法外
所在内存区域:方法区
生命周期:随着类的加载而加载
特点:无论创建多少对象,类变量仅在方法区中,并且只有一份
B:实例变量:其实就是非静态变量
定义位置:定义在类中方法外
所在内存区域:堆
生命周期:随着对象的创建而加载
特点:每创建一个对象,堆中的对象中就有一份实例变量
三、代码块
1、局部代码块
存在于方法中,控制变量的生命周期(作用域)。
2、构造代码块
抽取构造方法中重复的代码,每次创建对象都会执行,并会在构造方法前执行。
3、静态代码块
被static修饰的代码块,作用加载类是需要做一些初始化化,例如驱动。
静态代码块只会执行一次
4、同步代码块(多线程中会讲解)
5、各个代码块执行的流程
静态代码块--》main方法--》构造代码块-》构造方法
作者: 1414225997 时间: 2017-12-7 09:14
这是我见过总得得最好的,明了,继续努力哈
作者: 渝小妹 时间: 2017-12-7 14:41
总结到位,赞
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |