Java基础知识整理之static应用与总结

发布时间:2019-11-19 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了Java基础知识整理之static应用与总结脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

前面两篇分别介绍了static的属性以及方法。本篇就做一个收尾,介绍下剩下的。

在之前的总结:

  • 不管多少个对象,都使用同一个 static 属性
  • 使用 static 方法可以避免掉用实例化方法之后才能调用的限制。

导入 static 类的包

静态导入包

静态导包用法,将类的方法直接导入到当前类中,从而直接使用“方法名”即可调用类方法,更加方便。但是看上面的就不是特别直观,不便于阅读代码。

@H_777_18@Utils.java

package statics.utils;  public class Utils {      public static int int2Str(String str) {         return Integer.valueOf(str);     }      public static int add(int x, int y) {         return x+y;     } } 

test.java

// 导入包 注意使用了 static 关键字 import static statics.utils.Utils.*;  public class Test {      public static void main(String[] args) {         // 上面使用了 static 关键字之后,可以直接使用 Utils 中的方法。         add(1, 2);     } }

通过 类名.方法名

Test.java

// 导入包 注意没有使用 static 关键字了 import statics.utils.Utils;  public class Test {      public static void main(String[] args) {         // 上面使用了 static 关键字之后,可以直接使用 Utils 中的方法。         Utils.add(1, 2);     } } 

static 的实例用法

对于了解了static 方法之后,在来看几个实际的例子回顾与加深下对 static的理解。

示例一:实现类实例化的统计

需求

希望在每次实例化对象的时候,都打印一个信息,输出产生第 x 个实例化对象。

Test.java

class Book {          static int Index = 0;          Book(){         Index++;         System.out.PRintln("实例化对象第"+ Index + "个");     } }  public class Test {      public static void main(String[] args) {         new Book();     new Book();     new Book();         new Book();     new Book();     new Book();     } }

控制台输出

实例化对象第1个 实例化对象第2个 实例化对象第3个 实例化对象第4个 实例化对象第5个 实例化对象第6个

示例二:实现属性的自动设置

需求

例如:现在某一个类有一个无参构造方法,一个有参构造方法,有参构造主要的目的是传递一个 tITle 属性,但是希望调用的不管是 有参构造方法还是无参构造方法,都可以为 title 设置内容,希望内容不要重复。

Test.java

class Book {      private String title;     static int Index = 0;      Book() {         // 通过 this 关键字调用有参构造方法         this("NOTITLE" + Index++);     }      Book(String title) {         this.title = title;     }          public String getTitle() {         return this.title;     } }  public class Test {      public static void main(String[] args) {         System.out.println(new Book("java").getTitle());         System.out.println(new Book().getTitle());         System.out.println(new Book().getTitle());     } }

控制台输出

java NOTITLE0 NOTITLE1

总结

  • static 属性和方法可以再没有实例化对象的时候直接由类名称进行调用。
  • static 属性保存在全局数据区。内存区一共有四个:栈内存、堆内存、全局数据区(存放所有的数据)、全局代码区(存放所有的方法)

脚本宝典总结

以上是脚本宝典为你收集整理的Java基础知识整理之static应用与总结全部内容,希望文章能够帮你解决Java基础知识整理之static应用与总结所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。