类变量(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. 实验2: CDP命令操作

    基本命令 1.获设备的相邻信息:CDP CDP1.不管上层协议 能够获取的信息包括:1.设备名2.对应各协议的地址3.端口名4.角色特征5.平台 全局启用/关闭CDP:cdp run/no cdp r ...

  2. LoadRunner参数传递给参数

    需求:使用随机函数时,需要参数化某个参数,并且后面的步骤需要使用这个参数. 方法: lr_save_string 该函数主要是将程序中的常量或变量保存为lr中的参数 lr_eval_string 从参 ...

  3. mysql笔记(暂时)

    2018-05-28 create table cms_user(id int key auto_increment,username varchar(20),password varchar(20) ...

  4. Huffman编码和解码

    一.Huffman树 定义: 给定n个权值作为n个叶子结点,构造一棵二叉树,若该树的带权路径达到最小,这样的二叉树称为最优二叉树,也称为霍夫曼树(Huffman树). 特点:     Huffman树 ...

  5. java架构之路-(netty专题)netty的编解码(出入战)与粘包拆包

    上次回归: 上次博客我们主要说了netty的基本使用,都是一些固定的模式去写的,我们只需要关注我们的拦截器怎么去写就可以了,然后我们用我们的基础示例,改造了一个简单的聊天室程序,可以看到内部加了一个S ...

  6. pytoch之 encoder,decoder

    import torch import torch.nn as nn import torch.utils.data as Data import torchvision import matplot ...

  7. git-gitlab-github集合

    git-gitlab-github集合 git(一):     git简介 git(二):     git安装和简单使用 git(三):     git的分支管理 git(四):     git的远程 ...

  8. [转]adbkey与adbkey.pub

    转载至:https://blog.csdn.net/caibaihui/article/details/46862591 error: device unauthorized. Please chec ...

  9. img 标签上的src 链接图片不存在时 怎么处理

    // .html <img [src]="nzSrc" *ngIf="nzSrc && hasSrc" (error)="img ...

  10. vs工程配置eslint检测环境

    vs工程打开一个js文件,会提示 "No ESLint configuration (e.g .eslintrc) found for file ......." 或 " ...