类变量(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;
}
}

运行结果

JAVA类变量、类方法的更多相关文章

  1. Java Object类方法解析

    Java Object类方法解析 在Java中Object是所有类的父类,任何类都默认继承Object,其提供的方法主要有以下几种: registerNatives() hashCode和equale ...

  2. JAVA类变量(静态变量)

    类变量也称为静态变量,在类中以static关键字声明,但必须在方法.构造方法和语句块之外. -无论一个类创建了多少个对象,类只拥有类变量的一份拷贝. -静态变量除了被声明为常量外很少使用.常量是指声明 ...

  3. java里类方法和实例方法

    实例方法相对于静态方法(或者叫类方法)而言没有 static 前缀类般方法被对象拥有(也称之实例方法原因)特点定义时候前面没有 static 前缀本类直接调用时候必须也实例方法内否则调用前必须先实例出 ...

  4. Java类变量和成员变量初始化过程

    一.类的初始化 对于类的初始化:类的初始化一般只初始化一次,类的初始化主要是初始化静态成员变量. 类的编译决定了类的初始化过程. 编译器生成的class文件主要对定义在源文件中的类进行了如下的更改: ...

  5. 通过生产者消费者模式例子讲解Java基类方法wait、notify、notifyAll

    wait(),notify()和notifyAll()都是Java基类java.lang.Object的方法. 通俗解释wait():在当前线程等待其它线程唤醒.notify(): 唤醒一个线程正在等 ...

  6. java 类变量的初始化

    有代码如下:class Price{    final static Price INSTANCE = NEW Price(2.8);    static double initPrice = 20; ...

  7. java反射操作类方法与属性

    package com.fanshe.test; public class User { private int age; private String email; private String u ...

  8. Java Arrays类方法

    1:概述 主要谈一谈 Java使用fork/koin类 实现的并发排序 以及对于Stream流的支持的splitetor mismatch()   ->  寻找两个数组 第一次出现数据不一致的下 ...

  9. Java获取类方法上的注解

    , fullName.indexOf("$$")); try { clz = Class.forName(fullName); } catch (ClassNotFoundExce ...

随机推荐

  1. oracle和mysql区别

    1.本质的区别.oracle是对象关系数据库管理系统,简称ordbms.mysql是开源关系数据库关系系统,简称rdbms.Oracle是收费的.mysql是开源.免费的. 2.数据库安全性.myql ...

  2. Rancher2.x 一键式部署 Prometheus + Grafana 监控 Kubernetes 集群

    目录 1.Prometheus & Grafana 介绍 2.环境.软件准备 3.Rancher 2.x 应用商店 4.一键式部署 Prometheus 5.验证 Prometheus + G ...

  3. POJ_1208_模拟

    题目描述: 给定一个长度n,有0~n-1编号的箱子和位置,起始个编号的箱子放在相同编号的位置. 有一系列操作: move a onto b,将a,b上面的箱子放回初始位置,并将a放到b箱上. move ...

  4. centos7 手把手从零搭建深度学习环境 (以TensorFlow2.0为例)

    目录 一. 搭建一套自己的深度学习平台 二. 安装系统 三. 安装NVIDA组件 四. 安装深度学习框架 TensorFlow 五. 配置远程访问 六. 验收 七. 福利(救命稻草

  5. PHP Ajax 跨域问题最佳解决方案 【摘自菜鸟教程】

    PHP Ajax 跨域问题最佳解决方案 分类 编程技术 http://www.runoob.com/w3cnote/php-ajax-cross-border.html 本文通过设置Access-Co ...

  6. Andriod you must restart adb and eclipse

    今天看着视频 学习着 andriod ,启动 的时候 竟然报错 我试了N种google来的方法,都失效,现在把我的解决方法告诉大家,希望能帮到大家. 首先,我先罗列下我搜到的方法,大家也可以尝试. 1 ...

  7. 四步搞定Zabbix 日志文件监控

    Zabbix 日志文件监控 一.给运行Zabbix agent的用户授予要监控日志的读取权限. 1. 執行下面的命令,追加app的可讀權限: setfacl -m u:app:r-- /var/log ...

  8. Hapi+MySql项目实战数据库操作(四)

    数据库访问 下面以Node的ORM框架Sequelize来操作数据库,Mysql为例. 配置数据库连接信息config/db_config.js: //db_config.js module.expo ...

  9. 数据算法 --hadoop/spark数据处理技巧 --(9.基于内容的电影推荐 10. 使用马尔科夫模型的智能邮件营销)

    九.基于内容的电影推荐 在基于内容的推荐系统中,我们得到的关于内容的信息越多,算法就会越复杂(设计的变量更多),不过推荐也会更准确,更合理. 本次基于评分,提供一个3阶段的MR解决方案来实现电影推荐. ...

  10. linux 使用nfs 服务实现远程共享

    首先安装 apt install -y nfs-kernel-server nfs-common 编辑配置文件 vim /etc/exports 添加内容: /root/test *(rw,sync, ...