类方法什么
java的类方法也可称静态方法,是使用static修饰的类中方法;由于类方法是属于整个类的,所以类方法的方法体中不能有与类的对象有关的内容
类方法可以干什么
当方法中不涉及到任何对象相关的成员,则可以将方法设计成静态方法,提高开发效率 * 比如:工具类中的方法 utils * Math类、Arrays类、Collection集合类 * 在实际开发中,往往会将一些通用的方法,设计成静态方法,这样我们不需要创建对象就可以使用了,比如打印一维数组,冒泡排序,完成某个计算任务等
1、类方法和普通方法都是随着类加载的加载而加载,将结构信息存储在方法区,类方法中无this的参数,普通方法中隐含着this参数
2、类方法可以通过类名调用,也可以通过对象名调用
3、普通方法和对象有关,需要通过对象名调用,比如对象名.方法名(参数),不能通过类名调用
4、类方法中不允许使用和对象有关的关键字,比如this和super,普通方法(成员方法)空调
5、类方法(静态方法)中,只能访问静态变量或静态方法
6、普通成员方法,即可以访问非静态变量,也可以访问静态成员
举例
public static void main(String[] args) {
Stu tom = new Stu("tom");
Stu.payFee(100);
Stu mary = new Stu("mary");
mary.payFee(500);
//输出当前收到的总学费
Stu.showFee();
//如果我们希望不创建实例,也可以调用某个方法(即当作工具来使用)
//这时,把方法做成静态方法时非常合适
System.out.println("9平方"+Math.sqrt(9));
System.out.println("双精度相加:"+B.calSum(20,20));
}
}
/*
*类方法也叫静态方法
* 形式如下
* 访问修饰符 static 数据返回类型 方法名(){}
* static 访问修饰符 数据返回类型 方法名(){}
* */
//开发自己的工具类时,可以将方法做成静态的,方便调用
//可以些出很多的扩展方法
class B{
public static double calSum(double n1,double n2){
return n1+n2;
}
}
class Stu{
private String name;//普通成员
private static double fee=0;//静态变量,来积累学生的学费
public Stu(String name) {
this.name = name;
}
public static void payFee(double fee){
Stu.fee+=fee;//积累到 访问静态变量
}
public static void showFee(){
System.out.println("总学费有:"+Stu.fee);
}
}
结果
总学费有:600.0
9平方3.0
双精度相加:40.0