Java---面向对象编程(高级)---类方法
·
类方法基本介绍
类方法也叫静态方法
形式如下:
访问修饰符 static 数据返回类型 方法名(){ } 【推荐】
static访问修饰符 数据返回类型 方法名(){ }
类方法的调用:
使用方式:类名.类方法名 或者 对象名.类方法名 【前提是 满足访问修饰符的访问权限和范围】
类方法应用案例
看一个静态方式小案例
package com.heima.Hello.StaticProject;
// 该类文件演示一个利用类方法的案例
public class Static_Method {
public static void main(String[] args) {
Stu tom = new Stu("tom");
tom.payFee(100);
Stu mary = new Stu("mary");
mary.payFee(150);
// 输出当前收到的总学费
Stu.showFee(); // 通过类名调用类方法
}
}
class Stu{
private String name; // 普通成员
// 定义一个静态变量,来累计学生的学费
public static double fee_total = 0;
// 写一个构造器
public Stu(String name){
this.name = name;
}
public static void payFee(double fee){
Stu.fee_total += fee; // 累积到静态变量
}
public static void showFee(){
System.out.println("总共有" + Stu.fee_total);
}
}
类方法的经典使用场景
当方法中不涉及到任何和对象相关的成员,则可以将方法设计成静态方法,提高开发效率。
比如:工具类中的方法 utils
Math类、Arrays类、collections类 集合类看下源码:
package com.heima.Hello.StaticProject;
// 该类文件演示一个利用类方法的案例
public class Static_Method {
public static void main(String[] args) {
Stu tom = new Stu("tom");
tom.payFee(100);
Stu mary = new Stu("mary");
mary.payFee(150);
// 输出当前收到的总学费
Stu.showFee(); // 通过类名调用类方法
//调用Math类里的类方法
System.out.println("64开方=" + Math.sqrt(64.0));
// 调用自己写的工具里的类方法
System.out.println("2 + 3.2 = " + myTools.calSum(2, 3.2));
}
}
// 开发自己的工具类时,可以将方法做成静态的,方便调用
class myTools{
public static double calSum(double a, double b){
return a+b;
}
}
class Stu{
private String name; // 普通成员
// 定义一个静态变量,来累计学生的学费
public static double fee_total = 0;
// 写一个构造器
public Stu(String name){
this.name = name;
}
public static void payFee(double fee){
Stu.fee_total += fee; // 累积到静态变量
}
public static void showFee(){
System.out.println("总共有" + Stu.fee_total);
}
}
运行结果

使用类方法时的注意事项
1.类方法不允许使用和对象有关的关键字,比如super , this。普通方法(成员方法)可以
2.类方法(静态方法)中 只能访问 静态变量 或 静态方法。
3普通成员方法,既可以访问 普通变量(方法),也可以访问静态变量(方法)
小结:静态方法,只能访问静态的成员(包括变量和方法),非静态的方法,可以访问静态成员和非静态成员(必须遵守访问权限)
小结
在程序员实际开发,往往会将一些通用的方法,设计成静态方法,这样我们不需要创建对象就可以使用了,比如打印一维数组,冒泡排序,完成某个计算任务 等...
更多推荐



所有评论(0)