静态static与Maths工具类

1、静态
是一个关键字、也是一个修饰符。可以用于修饰成员变量和成员方法
也可以用来修饰类,不过只能修饰内部类

2、静态特点
静态随着类的加载而加载
优先于对象存在
可以被所有的对象所共享
可以直接使用类名调用

3、静态变量和成员变量的区别
所属区别:
静态变量:属于类
成员变量:属于对象
内存区域:
静态变量:在方法区中的静态区
成员变量:在堆内存中
        生命周期:
静态变量:随着类的加载而加载,随着类的消失而消失
成员变量:随着对象的创建而创建,随着对象的消失而消失
调用区别:
静态变量:可以用类名调用,也可以用对象名去调用
成员变量:只能用对象名调用

4、静态的注意事项
静态的只能访问静态的
非静态的既可以访问静态的,也可以访问非静态的
静态方法中是没有this的

5、静态的优缺点和使用场景
静态优点:
调用比较方便
静态缺点:
静态的只能访问静态的
使用场景:
如果某个变量需要被所有的对象所共享的时候,就可以将这个变量定义成静态的
静态的成员方法一般存在于工具类中

6、Math 类:
static PI; 圆周率
static abs(double d); 获取一个数的绝对值
static ceil(double d); 向上取整
static floor(double d); 向下取整
static max(double d1,double d2); 获取两个数中的较大值
static min(double d1,double d2); 获取两个数中的较小值
static round(double d); 四舍五入
static pow(double d1,double d2); 获取第一个参数的第二个参数次幂
static random(); 生成一个随机数 大于等于0.0  小于1.0之间的随机数
7、数组工具类:
       Arrays工具类中常用的方法:
static int binarySearch(int[] a, int key) :通过二分查找法来获取某个元素在数组中的出现位置
static void sort(int[] a) :  用于排序  升序排序
static String toString(int[] a) :用于打印数组
static boolean equals(int[] a, int[] a2) : 比较两个数组是否相同
8、自定义工具类
私有构造方法
提供静态的方法

9、代码块
a. 代码块分类
局部代码块     构造代码块    静态代码块    同步代码块(多线程)
b. 代码块的作用和执行顺序
局部代码块:定义在方法中,作用是限定了变量的声明周期。提早了释放变
                             量,可以提高内存的使用效率    
构造代码块:定义在类中,作用是抽取构造方法中的共性功能。优先于构造方
                                     法执行,每次创建对象都会执行一次  
静态代码块:定义在类中,前面要加static  作用是用于注册驱动。随着类的加
                                     载而执行,而且只执行一次


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值