类方法
类方法也叫静态方法,同类变量一样,可以通过类名.方法名
的方式调用
一、类方法的使用场景
-
1. 当方法中不涉及任何对象相关的成员,可以将方法设计成静态方法
-
2. 提高开发效率(可以通过类名直接调用,无需创建对象后再调用)
-
举例:Math 类,里面有很多静态方法,可以通过Math.方法名
直接调用(Math.sqrt)
二、两种定义方法
第一种
访问修饰符 static 数据返回类型 方法名(){
}
第二种
static 访问修饰符 数据返回类型 方法名(){
}
三、类方法的调用
-
第一种方法:类名.方法名
-
第二种方法:对象名.方法名
-
类方法可以通过类名调用,也可以通过对象名调用
类方法的使用细节
-
(1)类方法和普通方法都是随着类的加载而加载,将结构信息存储在方法区
-
(2)普通方法和对象有关,需要通过对象名调用,比如对象名.方法名(参数),不能通过类名调用。
-
(3)类方法中不允许使用和对象有关的关键字,比如this
和super
。普通方法(成员方法)可以使用。
-
(4)普通方法和类方法的区别
-
1. 类方法(静态方法):只能访问静态变量或静态方法。
-
2. 普通成员方法:既可以访问非静态成员,又可以访问静态成员和非静态成员。
-
(5)类方法不能被重写
总结
-
(1)静态方法:只能访问静态的成员
-
(2)非静态的方法:可以访问静态成员和非静态成员
-
(3)必须遵守访问权限限
代码示例:统计各个学生交的学费总和
package payfee;
public class main {
public static void main(String[] args) {
student jack = new student("jack");
jack.payfee(10);
student tom = new student("tom");
tom.payfee(10);
String totfee = student.totalfee();
System.out.println(totfee);
}
}
class student{
String name;
static double totalfee;
public student(){
}
public student(String name) {
this.name = name;
}
public void payfee(double fee){
totalfee += fee;
}
public static String totalfee(){
return "收到的总学费为: " + totalfee;
}
}