黑马程序员技术交流社区

标题: Static关键字的学习 [打印本页]

作者: zjj5669436182    时间: 2017-12-7 00:00
标题: Static关键字的学习
Static关键字的学习
作者:一衡
今日学习主要分为三大块:1、基础班知识的回顾;2static关键字;3、代码块。
一、基础知识的回顾。
主要回顾了
1、方法
方法特点:类中的一段具有特定功能的程序,提高了代码的复用性和可维护性。
方法的调用(直接调用、输出调用、赋值调用);
定义方法需明确两点(返回值类型,参数列表);
方法重载(参数列表必须不同);
2、数组
数组特点:1)、元素类型必须一致
  2)、元素有整数索引
  3)、一旦定义好长度则无法改变
  4)、可以存储基本数据类型
5)、也可以存储引用数据类型
3、定义类
二、static关键字
可以修饰成员变量和成员方法。
1、特点:1)、被static修饰的成员变量属于类,不属于这个类的某个对象(被所有的对象所共享)。
  2)、被static修饰的成员可以并且建议通过类名直接访问(可以使用类名调用)。
  3)、被static修饰的成员的加载优先于对象,随着类的加载而加载。
2、注意事项:
1)、静态只能调用静态(如果想调用,需得创建对象),非静态可以调用静态的。
2)、静态的方法中是否有this这个对象?没有的。
3、静态优缺点:
1)优点:对对象的共享数据提供单独空间的存储,节省空间,没有必要每一个对象都存储一份。
2)缺点:访问出现局限性。(静态虽好,但只能访问静态)
4Math(属于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() :返回一个随机数,[01)
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