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;
}
}
运行结果

JAVA类变量、类方法的更多相关文章
- Java Object类方法解析
Java Object类方法解析 在Java中Object是所有类的父类,任何类都默认继承Object,其提供的方法主要有以下几种: registerNatives() hashCode和equale ...
- JAVA类变量(静态变量)
类变量也称为静态变量,在类中以static关键字声明,但必须在方法.构造方法和语句块之外. -无论一个类创建了多少个对象,类只拥有类变量的一份拷贝. -静态变量除了被声明为常量外很少使用.常量是指声明 ...
- java里类方法和实例方法
实例方法相对于静态方法(或者叫类方法)而言没有 static 前缀类般方法被对象拥有(也称之实例方法原因)特点定义时候前面没有 static 前缀本类直接调用时候必须也实例方法内否则调用前必须先实例出 ...
- Java类变量和成员变量初始化过程
一.类的初始化 对于类的初始化:类的初始化一般只初始化一次,类的初始化主要是初始化静态成员变量. 类的编译决定了类的初始化过程. 编译器生成的class文件主要对定义在源文件中的类进行了如下的更改: ...
- 通过生产者消费者模式例子讲解Java基类方法wait、notify、notifyAll
wait(),notify()和notifyAll()都是Java基类java.lang.Object的方法. 通俗解释wait():在当前线程等待其它线程唤醒.notify(): 唤醒一个线程正在等 ...
- java 类变量的初始化
有代码如下:class Price{ final static Price INSTANCE = NEW Price(2.8); static double initPrice = 20; ...
- java反射操作类方法与属性
package com.fanshe.test; public class User { private int age; private String email; private String u ...
- Java Arrays类方法
1:概述 主要谈一谈 Java使用fork/koin类 实现的并发排序 以及对于Stream流的支持的splitetor mismatch() -> 寻找两个数组 第一次出现数据不一致的下 ...
- Java获取类方法上的注解
, fullName.indexOf("$$")); try { clz = Class.forName(fullName); } catch (ClassNotFoundExce ...
随机推荐
- 微信小程序框架分析小练手(二)——天气微信小程序制作
简单的天气微信小程序. 一.首先,打开微信开发者工具,新建一个项目:weather.如下图: 二.进入app.json中,修改导航栏标题为“贵州天气网”. 三.进入index.wxml,进行当天天气情 ...
- ATL的GUI程序设计(4)
第四章 对话框和控件 对于Win32 GUI的程序设计来说,其实大部分的情况下我们都不需要自己进行窗口类的设计,而是可以使用Win32中与用户交互的标准方式--对话框(Dialog Box).我们可以 ...
- POJ_1979_dfs
题目描述: 每组数据给你一张字符的图,'@'代表起点,'.'代表可走的路,'#'代表墙,求从起点出发,可到达的位置的数量,包括起点. 思路: dfs基础题,从起始点开始,每一次所在的点,只要不出界并且 ...
- lua学习之基础概念篇
基础概念 程序块 (chunk) 定义 lua 中的每一个源代码文件或在交互模式(Cmd)中输入的一行代码都称之为程序块 一个程序块就是一连串语句或者命令 lua 中连续的语句不需要分隔符,但为了可读 ...
- [REDIS 读书笔记]第一部分 数据结构与对象 跳跃表
下面是跳跃表的基本原理,REDIS的实现大致相同 跳跃表的一个特点是,插入NODE是通过随机的方式来决定level的,比较奇特 下面是skipList的一个介绍,转载来的,源地址:http://ken ...
- [Effective Java 读书笔记] 第7章 方法
第39条 必要时进行保护性拷贝 对于可变类,如果作为参数传入到自己的类里,并作为自己类的数据使用存储时,需要进行保护性拷贝,比如Date是可变的,如果传入一个Date类,最好做一个保护性拷贝,以免在调 ...
- bat常用符合和for语句等
一.开头 @echo off(默认是echo on)@echo off执行以后,后面所有的命令均不显示,包括本条命令 二.特殊符号 1. | 命令管道符,echo Y|rd /s c:\abc,通过管 ...
- zabbix 自定义监控项报警给单独的人
需求就是某个交换机的流量达到某个值后需要报警,但报警的内容不是发给所有的人,而是只发给特定的一个人,而其他的报警信息不能让他收到,他只能收到这一个报警项的报警 1:创建好用户定义好手机号 2:新增加一 ...
- springmvc maven idea 多模块开发(三):建立子模块
传统的多模块方式是建立domain.dao.service等,这种方式是按照软件架构进行分割,现在更多的应该是倾向按照功能来解耦,module前期可以配置成jar,后期也可以建立独有的页面,独立的站点 ...
- 进阶之路 | 奇妙的IPC之旅
前言 本文已经收录到我的Github个人博客,欢迎大佬们光临寒舍: 我的GIthub博客 学习清单: IPC的基础概念 多进程和多线程的概念 Android中的序列化机制和Binder Android ...