CG系统网址:http://211.81.175.89
static 修饰符
静态变量:
static 关键字用来声明独立于对象的静态变量,无论一个类实例化多少对象,它的静态变量只有一份拷贝。 静态变量也被称为类变量。局部变量不能被声明为 static 变量。
静态方法:
static 关键字用来声明独立于对象的静态方法。静态方法不能使用类的非静态变量。静态方法从参数列表得到数据,然后计算这些数据。
static变量也称作静态变量,静态变量和非静态变量的区别是:静态变量被所有的对象所共享,在内存中只有一个副本,它当且仅当在类初次加载时会被初始化。而非静态变量是对象所拥有的,在创建对象的时候被初始化,存在多个副本,各个对象拥有的副本互不影响。
static成员变量的初始化顺序按照定义的顺序进行初始化。
在以前“类与对象的作业”定义矩形类Rect的基础上,增加两个静态方法:
public static double getArea(double x,double y)
public static double getPerimeter(double x,double y)。
这两个方法根据接收的参数值,分别计算矩形的面积和周长。
main方法的代码如下,注意,不要修改main方法的代码,否则回扣分:
import java.util.Scanner;
class Rect {
//类的属性
double side1;
double side2;
//方法
public static double getArea(double x,double y) { //计算矩形的面积
double area; //定义面积变量
area = x * y;
return area; //返回面积
}
public static double getPerimeter(double x,double y) { //计算矩形的周长
double per; //定义周长变量
per = (x + y) * 2;
return per; //返回周长
}
public double getArea(){ //计算矩形的面积
double area; //定义面积变量
area = side1*side2;
return area; //返回面积
}
public double getPerimeter(){ //计算矩形的周长
double per; //定义周长变量
per = (side1+side2) * 2;
return per; //返回周长
}
}
public class one {
public static void main(String[] args)
{
Scanner sin =new Scanner(System.in);
Rect r = new Rect();
r.side1 = sin.nextDouble();
r.side2 = sin.nextDouble();
System.out.println("area is:"+r.getArea());
System.out.println("perimeter is:"+r.getPerimeter());
System.out.println(Rect.getArea(3, 5));
System.out.println(Rect.getPerimeter(3, 5));
}
}