Java 修饰符 与 Number&Math类
修饰符
static
1.静态变量:
static关键字用来声明独立于对象的静态变量,无论一个类实例化多少对象,它的静态变量只有一份拷贝。 静态变量也被称为类变量。局部变量不能被声明为 static 变量。
换句话说就是用static声明类变量,所有对象里的该变量都一样(相当于类的全局变量)
2.静态方法:
static关键字用来声明独立于对象的静态方法。静态方法不能使用类的非静态变量。静态方法从参数列表得到数据,然后计算这些数据。
1 |
|
fianal
final class 不可被继承
final可以用于variables, methods, classes, 限制继承和覆写
protected
接口及接口的成员变量和成员方法不能声明为 protected
protected对同一包内的类和所有子类可见。
Number&Math类
所有的包装类(Integer、Long、Byte、Double、Float、Short)都是抽象类 Number 的子类。
常用的
1 xxxValue()
将 Number 对象转换为xxx数据类型的值并返回。
3 equals()
判断number对象是否与参数相等。
5 toString()
以字符串形式返回值。
6 parseInt()
将字符串解析为int类型。
7 abs()
返回参数的绝对值。
11 round()
它表示四舍五入,算法为 Math.floor(x+0.5),即将原来的数字加上 0.5 后再向下取整,所以,Math.round(11.5) 的结果为12,Math.round(-11.5) 的结果为-11。
12 min()
返回两个参数中的最小值。
13 max()
返回两个参数中的最大值。
27 random()
返回一个随机数。
不常用的
8 ceil()
返回大于等于( >= )给定参数的的最小整数,类型为双精度浮点型。
9 floor()
返回小于等于(<=)给定参数的最大整数 。
14 exp()
返回自然数底数e的参数次方。
15 log()
返回参数的自然数底数的对数值。
16 pow()
返回第一个参数的第二个参数次方。
17 sqrt()
求参数的算术平方根。
18 sin()
求指定double类型参数的正弦值。
19 cos()
求指定double类型参数的余弦值。
20 tan()
求指定double类型参数的正切值。
21 asin()
求指定double类型参数的反正弦值。
22 acos()
求指定double类型参数的反余弦值。
23 atan()
求指定double类型参数的反正切值。
24 atan2()
将笛卡尔坐标转换为极坐标,并返回极坐标的角度值。
25 toDegrees()
将参数转化为角度。
26 toRadians()
将角度转换为弧度。
Practice Exercise 2
1 |
|
有关不可变类的理解
不可变类(immutable class)是指当创建了这个类的实例后,就不允许修改它的值了,也就是说一个对象被创建以后,在整个生命周期内,它的成员变量就不能被修改了。有点类似与常量(const)不允许别的程序进行修改。
Java类库中,所有基本类型的包装类都是不可变类(Byte、Boolean、Short、Char、Integer、Float、Long、Double),此外String也是不可变类。Object也是一个基本类型,他在java.lang.Object里面
1 |
|
运行结果是:Hello World
其实程序是在执行 s += “ World” 时创建了一个新的对象”Hello World”,s指向了这个新建的对象。原来的”Hello”字符串常量在内存中并没有被改变。
1 |
|
运行结果:1 2
上面程序执行完 b++后,由于Integer是不可变类,因此会创建一个新值为2的Integer赋值给b,此时b和a已经没有任何关系。
参考文献
Java Number & Math 类
Java基本数据类型以及由不可变类带来的值传递和引用传递的难点分析
Java Object Api
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!