一、静态变量、常量和方法
1、使用关键词stastic修饰的变量、常量和方法都被称为静态常量、常量和方法。
2、静态变量语法如下:类名.静态类成员
3、Java中对静态方法有两点规定:
①在静态方法中不可以使用this关键字
②在静态方法中不可以直接调用非静态方法
4、在Java中规定不能将方法体内的局部变量声明为static的,以下就是错误的:
public class example{
public void method(){
static int i = 0;
}
}
二、方法调用
1、方法声明是创建一个新的功能,声明出来的方法在需要的时候可以通过调用执行该方法的功能。方法只有被调用才能被执行。
2、在Java程序中有一个基本的main方法,方法声明如下:
public stastic void main(String[] args)
3、该方法包含在开始的代码框架中,这是一个特殊的方法。Java语法规定,J2SE的代码都要从该方法开始执行,如果一个代码中没有main方法,则该代码不能被直接运行。
4、方法的调用分为以下两种:
- 一个类内部的方法调用。指调用以及被调用的方法都在一个类的内部。
- 不同类之间的方法调用。指调用以及被调用的方法都位于不同的类内部。
package javase.day04.list.demo.fuction;
import java.util.ArrayList;
//从传入的list中找到一个最大值
public class ListUtils {
public static int getMax(ArrayList<Integer> list) {
//找一个基准值
int tmp = list.get(0);
for (int i = 1; i < list.size(); i++) {
if (list.get(i) > tmp) {
tmp = list.get(i);
}
}
return tmp;
}
//求传入的平均值
public static float getAvg(ArrayList<Integer> list) {
int sum = 0;
for (int i = 0; i < list.size(); i++) {
sum += list.get(i);
}
float avg = (float) sum / list.size();
return avg;
//也可以直接为return(float)sum/list.size();
}
}
package javase.day04.list.demo.fuction;
import java.util.ArrayList;
public class ListUtilsTest {
public static void main(String[] args) {
ArrayList<Integer> list = new ArrayList<Integer>();
//选数据
list.add(8);
list.add(10);
list.add(12);
list.add(20);
//拿造好的数据去测试写的工具类
ListUtils.getMax(list);
//求最大值
int max = ListUtils.getMax(list);
System.out.println("最大值为" + max);
//求平均值
float avg = ListUtils.getAvg(list);
ListUtils.getAvg(list);
}
}