静态static关键字

静态static关键字概述
所有本类对象共享一份数据,一旦用了static关键字,内容不再属于对象自己,而是属于类的,本类对象共享同一分数据

private int id;
private String name;
private int age;
static String room;
private static int idCounter=0;//每当new一个新对象,idCounter++
Student one = new Student(name:"郭靖",age:19);
one.room = "101教室";
System.out.println(one.getName()+","+one.getAge()+","+one.room+","+one.getId());
Student two = new Student(name:"黄蓉",age:16);
System.out.println(two.getName()+","+two.getAge()+","+two.room+","+two.getId());

最终运行结果为:

郭靖,19101教室,1
黄蓉,16101教室,2

“101教室”只赋值给了one,没有赋值给two,但通过static修饰共享给了two

静态static关键字修饰成员方法
一旦使用static修饰成员方法,那么就成为了静态方法,静态方法不属于对象,而属于类
1.首先创建对象,然后才能使用没有static关键字的内容
2.对于静态方法来说,可以通过对象名静态.方法名进行调用(不推荐),也可以直接通过类名称.静态方法名来调用(推荐)
3.不论是成员变量还是成员方法,如果有了static,都推荐使用类名称进行调用
静态变量:类名称.静态变量
静态方法:类名称.静态方法()
注意:
1.静态不能直接访问非静态
原因:内存当中先有静态内容,再有非静态内容
2.静态方法中不能用this
原因:this代表当前对象,通过谁调用的方法,谁就是当前对象
3.根据类名称访问静态成员变量时,全程和对象没有关系,只和类有关系

静态代码块
代码块格式:

public class{
     static{
     //静态代码块内容,
     }
}

静态代码块实例:

public class Person{
   static{
     System.out.println("静态代码块执行")}
   public Person(){
     System.out.println("构造方法执行")  
     }
}
public static void main(String[] args){
     Person one=new Person();
     Person two=new Person();
}
运行结果:
静态代码块执行
构造方法执行
构造方法执行

特点:当第一次用到本类时,静态代码块执行唯一一次,静态内容总是优先于非静态
典型用途:用来一次性的对静态成员变量进行赋值

数组工具类Arrays
java.util.Arrays是一个与数组想爱你高管的工具类,里面提供了大量的静态方法,用来实现数组常见的操作
public static String toString(数组),将参数数组变成字符串,按照默认格式:[元素1,元素2,…]
public static vid sort(数组:按照默认升序对数组元素进行排列

int[] intArray={10,20,30};
String intStr=Arrays.toString(intArray);//将int数组按默认格式变成字符串
System.out.println(intStr) 

int array1={2,1,4,17,5};
Array.sort(array1);//将array1按照升序进行排列
System.out.println(Arrays.toString(array1)); 

运行结果:
[10,20,30]
[1,2,4,5,17]

注意:
1.如果是数值,sort默认按照升序从小到大
2.如果是字符串,sort默认按照字母升序
3.如果是自定义类型,那么这个自定义类需要有Comparable或者Comparator接口的支持

数学工具类Math
java.util.Math类是数学相关的工具类,里面提供了大量的静态方法,完成数学运算相关操作
public staticdouble abs(double num):获取绝对值
public staticdouble ceil(double num):向上(正方向)取整
public staticdouble floor(double num):向下(负方向)取整
public staticdouble round(double num):四舍五入(不带小数点)
Math.PI近似圆周率常量

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值