首页 > 其他 > 详细

static关键字的使用(升级版)

时间:2021-01-28 18:14:57      阅读:23      评论:0      收藏:0      [点我收藏+]

关于static的第一点说明:

假如我们编写一个计算圆的周长和面积的java程序,其中圆的属性就是半径,这个半径是由用户给定的,代码实现如下:

 1 package com.hw.static0127;
 2 import java.util.Scanner;
 3 class Circle{
 4     public float radius;
 5     public static float π = 3.14159265f;
 6     public void getPerimeter(){
 7         float perimeter;
 8         perimeter = 2*π*radius;
 9         System.out.println("圆的周长为"+perimeter);
10     }
11     public void getSpace(){
12         float space;
13         space = π * radius * radius;
14         System.out.println("圆的面积为"+space);
15     }
16 }
17 public class CircleDemo {
18     public static void main(String[] args){
19         Scanner s = new Scanner(System.in);
20         Circle ci = new Circle();
21         while(s.hasNext())
22         {
23             ci.radius = s.nextInt();
24             if(ci.radius < 0) break;
25             ci.getPerimeter();
26             ci.getSpace();
27             System.out.println();
28         }
29     }
30 }

运行效果如下:

技术分享图片

 

 在代码中,我们可以看到,圆周率π,是一个固定的常数,不管创建多少个对象,它都是常数,因此,我们可以把它声明成静态变量,这样可以节约内存空间。否则,每创建一个新的对象(在本程序中未体现),都会开辟一块新的内存区域来存放变量π,而它又是个常数,这样做很浪费空间。


 

关于static关键字的第二点说明:

如果我们要自己开发一个数组的工具类(为了说明的简便,只实现了数组数据的填充功能),代码实现如下:

 1 package com.hw.static0127;
 2 class ArrayTool{
 3     private ArrayTool(){
 4         
 5     }
 6     public static void fill(int arr[],int data){  //用data填充数组arr[]
 7         for(int i = 0;i < arr.length;i++)
 8         {
 9             arr[i] = data;
10         }
11     }
12 }
13 public class StaticDemo3 {
14     public static void main(String[] args){
15         int arr[] = new int[100];  //声明一个数组
16         ArrayTool.fill(arr, 20);
17         System.out.println(arr[1]+" "+arr[2]+" "+arr[98]);
18     }
19 }

 

运行效果如下:

技术分享图片

 

 我们如果把fill这个方法声明成静态的,那就可以直接用类来调用,而不需要像:

1 ArrayTool tool = new ArrayTool();
2 tool.fill(arr,20);

这么麻烦。

当然,由于以后在公司里面做开发,是有一个团队一起协作的,团队成员间互相使用对方开发的类时,用起来不会像自己那么熟悉,这个时候为了防止代码麻烦,我们可以直接把ArrayTool这个类弄成private,这样,是没有办法创建对象的,所以在编译的时候就会出错,也就提醒了别人。直接用类来调用即可。

 

static关键字的使用(升级版)

原文:https://www.cnblogs.com/EvanTheGreat/p/14339200.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!