JAVA类变量及类方法代码实例详解

 更新时间:2020年02月19日 11:24:59   作者:白客C  
这篇文章主要介绍了JAVA类变量及类方法代码实例详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

这篇文章主要介绍了JAVA类变量及类方法代码实例详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

类变量(static)

类变量是该类的所有对象共享的变量,任何一个该类的对象去访问它时,取到的都是相同的值,同样任何一个该类的对象去修改它时,修改的也是同一个变量。

public class C {
  public static void main(String[] args){

    Child ch1 = new Child(12,"小小");
    ch1.joinGame();
    Child ch2 = new Child(13,"小红");
    ch2.joinGame();
    //调用类变量
    System.out.println("一共有" + Child.total+ "小朋友");
  }
}

class Child{
  public int age;
  public String name;

  //total是静态变量,因此他可以被任何类调用
  public static int total = 0;

  public Child(int age, String name)
  {
    this.age = age;
    this.name = name;
  }

  public void joinGame()
  {
    total++;
    System.out.println("有一个小朋友加进来!");
  }
}

运行结果

静态区块

只要程序启动就会被执行一次,也仅执行一次

public class C {

  static int i = 1;
  static
  {
    System.out.println("静态区域块被执行一次");
    //该静态区域块,只被执行一次,也不会因创建对象而触发
    i++;
  }
  public C()
  {
    System.out.println("构造函数域块被执行一次");
    i++;
  }

  public static void main(String[] args){

    C t1 = new C();
    System.out.println("输出第一个i的值为:" + C.i);
    C t2 = new C();
    System.out.println("输出第二个i的值为:" + C.i);
  }
}

运行结果

类方法

类方法中不能访问非静态变量

public class C {
  public static void main(String[] args){
    Student stu1 = new Student(18,"小红",580);
    Student stu2 = new Student(18,"小黑",620);
    System.out.println("有" + Student.p_total + "个学生");
    System.out.println("学费总收入:" + Student.get_total_fee());
  }
}

//定义一个学生类
class Student{
  public int age;
  public String name;
  public double fee; //学费
  public static int p_total = 0;
  public static double total_fee; //总学费

  public Student(int age, String name, double fee)
  {
    p_total++;
    this.age = age;
    this.name = name;
    this.total_fee += fee;
  }

  //静态方法
  //Java中规则:类变量原则上用类方法去访问
  public static double get_total_fee()
  {
    return total_fee;
  }
}

运行结果

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

您可能感兴趣的文章:

相关文章

  • ServletWebServerApplicationContext创建Web容器Tomcat示例

    ServletWebServerApplicationContext创建Web容器Tomcat示例

    这篇文章主要为大家介绍了ServletWebServerApplicationContext创建Web容器Tomcat示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-03-03
  • 详解Java中布隆过滤器(Bloom Filter)原理及其使用场景

    详解Java中布隆过滤器(Bloom Filter)原理及其使用场景

    布隆过滤器是1970年由布隆提出的,它实际上是一个很长的二进制向量和一系列随机映射函数,它的作用是检索一个元素是否存在我们的集合之中,本文给大家详细的讲解一下布隆过滤器,感兴趣的同学可以参考阅读
    2023-05-05
  • Spring Bean生命周期源码原理图解

    Spring Bean生命周期源码原理图解

    这篇文章主要介绍了Spring Bean生命周期源码原理图解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-10-10
  • 详解Java设计模式之外观模式

    详解Java设计模式之外观模式

    在Java开发中,设计模式是一种十分常见的编程思想,它可以帮助我们解决很多实际开发中的问题,本篇文章将介绍一种常见的设计模式——外观模式,并结合实际的开发场景进行讲解,需要的朋友可以参考下
    2023-06-06
  • SpringCloud实战小贴士之Zuul的路径匹配

    SpringCloud实战小贴士之Zuul的路径匹配

    这篇文章主要介绍了SpringCloud实战小贴士之Zuul的路径匹配,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-10-10
  • log4j日志格式加入自定义字段信息方式

    log4j日志格式加入自定义字段信息方式

    这篇文章主要介绍了log4j日志格式加入自定义字段信息方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-12-12
  • SpringBoot中使用tkMapper的方法详解

    SpringBoot中使用tkMapper的方法详解

    这篇文章主要介绍了SpringBoot中使用tkMapper的方法详解
    2022-11-11
  • springCloud集成nacos启动时报错原因排查

    springCloud集成nacos启动时报错原因排查

    这篇文章主要介绍了springCloud集成nacos启动时报错原因排查,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-04-04
  • Java中ByteBuddy动态字节码操作库的使用技术指南

    Java中ByteBuddy动态字节码操作库的使用技术指南

    ByteBuddy 是一个功能强大的 Java 字节码操作库,可以帮助开发者在运行时动态生成和修改类,而无需直接接触复杂的 ASM API,本文给大家介绍了Java ByteBuddy动态字节码操作库的使用技术指南,需要的朋友可以参考下
    2025-04-04
  • Springboot与vue实现文件导入方法具体介绍

    Springboot与vue实现文件导入方法具体介绍

    文件导入时大多数项目无法回避的问题,这两天深入学习了文件导入,在这里进行记录,使用到的技术是Springboot+Vue,前端组件使用el-upload
    2023-02-02

最新评论