static关键字怎么在Java应用程序中使用

发布时间:2021-06-11 15:23:33 作者:Leah
来源:亿速云 阅读:104

今天就跟大家聊聊有关static关键字怎么在Java应用程序中使用,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

1、使用Java static关键字修饰成员变量

以下是Stundent类。

package app_one;
public class Student {
 private int id = 0 ;
 private int age = 0; 
 private String name = null;
 static int id_count = 0 ;
 public Student(int age , String name)
 {
 this.age = age ; 
 this.name = name ;
 this.id = ++id_count ;
 }
 public int getage() {
 return age;
 }
 public void setage(int age) {
 this.age = age;
 }
 public String getName() {
 return name;
 }
 public void setName(String name) {
 this.name = name;
 }
}

以下是主类:

package app_one;
public class hello {
 public static void main(String[] args) 
 {
 Student st1 = new Student(14,"小明");
 System.out.println("年龄:" + st1.getage() + " 姓名:" + st1.getName() + " 序号:" + Student.id_count);
 Student st2 = new Student(15,"小红");
 System.out.println("年龄:" + st2.getage() + " 姓名:" + st2.getName() + " 序号:" + Student.id_count);
 Student st3 = new Student(18,"小李");
 System.out.println("年龄:" + st3.getage() + " 姓名:" + st3.getName() + " 序号:" + Student.id_count);
 }
}

运行结果:

static关键字怎么在Java应用程序中使用

从上面的案例可以看到,id_count是可以自动进行计数的,每一次实例化Student类的时候,id_count就自动+1,然后赋值给成员变量id,由于定义了static关键字的变量不再属于对象,而是属于类,所以在访问的时候,我们可以用类名称().静态变量的形式来进行访问。

2、使用static修饰成员方法

将上述程序中Student类的id_count修改为私有的静态变量,并添加一个静态的Get_idcount方法。

private static int id_count = 0 ;
public static int Get_idcount()
{
 return id_count ;
}

在主类中获取id_count不通过类.变量的方式获取,而是改为类.方法()的方式获取。

Student.Get_idcount()

强调两点:

原因:因为在内存中是先有的静态内容,后有的非静态内容

原因:因为this代表当前对象,通过谁调用的方法,谁就是当前对象

小结:

一旦使用了static修饰成员方法,那么这就成为了静态方法,不属于对象,而是属于类本身的。

对于静态方法来说,可以通过对象名进行调用,也可以直接通过类名称来调用。

如果没有static关键字,那么必须首先创建对象,然后通过对象才能使用它

如果有了static关键字,那么不需要创建对象,直接就能通过类名称进行调用。

无论是成员变量,还是成员方法,如果有了static,都推荐使用类名称进行调用。

静态变量:类名称.静态变量

静态方法:类名称.静态方法();

对于本类中的静态方法,可以省略类名称。

3、静态static的内存图

参照学习传智的Java课程给出的图,清晰易懂。

static关键字怎么在Java应用程序中使用

4、静态代码块

静态代码块格式:

public class 类名称{
  static
  {
    //静态代码块的内容
  }
}

针对上面的案例做修改,在Student类中添加一个静态代码块:

package app_one;
public class Student {
 private int id = 0 ;
 private int age = 0; 
 private String name = null;
 private static int id_count = 0 ;
 static 
 {
 System.out.println("静态代码块运行!");
 }
 public Student(int age , String name)
 {
 System.out.println("构造方法运行!");
 this.age = age ; 
 this.name = name ;
 this.id = ++id_count ;
 }
 public int getage() {
 return age;
 }
 public void setage(int age) {
 this.age = age;
 }
 public String getName() {
 return name;
 }
 public void setName(String name) {
 this.name = name;
 }
 public static int Get_idcount()
 {
 return id_count ;
 }
}

然后主程序修改如下:

package app_one;
public class hello {
 public static void main(String[] args) 
 {
 Student st1 = new Student(14,"小红");
 System.out.println("姓名: "+st1.getName() + " 年龄: " + st1.getage() + " 序号: "+Student.Get_idcount());
 Student st2 = new Student(14,"小李");
 System.out.println("姓名: "+st2.getName() + " 年龄: " + st2.getage() + " 序号: "+Student.Get_idcount());
 }
}

运行结果:

static关键字怎么在Java应用程序中使用

看完上述内容,你们对static关键字怎么在Java应用程序中使用有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注亿速云行业资讯频道,感谢大家的支持。

推荐阅读:
  1. java中static关键字的介绍和使用
  2. java中static关键字的使用方法

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

java static

上一篇:怎么使用java数组封装自己的数组

下一篇:Qt中如何使用QFile类打开文件

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》