2 u010378579 u010378579 于 2014.12.10 21:09 提问

为什么静态变量在构造方法里面使用不报错?

public class test
{
public static int staticVar = 0;
public int instanceVar = 0;
public test()
{
staticVar++;
instanceVar++;
System.out.println("staticVar=" + staticVar + ",instanceVar=" + instanceVar);
}
}
不是只有静态方法才可以调用静态变量吗?
为什么静态变量在构造方法里面使用不报错?

2个回答

BranStark
BranStark   2014.12.10 21:57
已采纳

这个是正确使用的,java 类中的方法无论静态还是非静态的都可以使用静态变量
而静态方法只能使用静态变量

u010378579
u010378579 谢谢你的提醒!你这么一说才发现自己脑子混乱了!哎。。。。
3 年多之前 回复
lxq_xsyu
lxq_xsyu   Rxr 2014.12.11 09:47

静态的方法、成员变量、语句块是在类加载的时候被初始化,所以在你构造(构造函数)对象的时候当然可以使用了。建议你看一下对象初始化过程。

u010378579
u010378579 好的,谢谢你的建议!
3 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
JAVA_关于构造方法与类中静态变量
打算从今天开始记下学习JAVA过程中遇到的一些问题,同时万一我就帮助了某些还不明所以的小伙伴,另外哪里有问题欢迎指出,我会更马上更改,首先是关于JAVA中的构造方法还有对象的创建。 (这里搬运下类的定义,书上写得很多,但我感觉并没有什么卵用,其中的大体的概念就是:类可以用来声明变量,创造了一个对象之后就会为其分配类中的变量。) 类是面向对象语言中最重要的一种数据类型,可以用类来声明变量。在面向对
Java中的构造方法、静态变量和静态方法(基础详解)
Java中的构造方法、静态变量和静态方法构造方法 构造方法注意事项: 1. 如果你没写无参的构造方法 系统会给你提供一个无参的构造方法 2. 如果我只写了 有参的构造方法 这时 系统就不再给你提供无参的构造方法 3. 写类的时候 建议 无参 有参 构造方法 全写 定义类 书写顺序 成员变量 -> 无参 有参 构造方法 -> s
阿里面试题:关于类中静态,非静态,构造方法的执行顺序
可见java基础还是很重要的,我 相信还是有很多人写错的,贴出来大家一起学习。 题目要求:输出运行结果: public class Text { public static int k =0 ; public static Text t1 = new Text("t1") ; public static Text t2 = new Text("t2") ; public static
Java中构造方法,构造函数,静态变量的用法
构造方法: 作用:对对象的属性(成员变量)进行初始化。 写法: 1,构造方法的方法名与类名完全相同(大小写必须一样) 2,没有返回值类型(void可以不写,也不用写) 3,没有返回值,(没有return) //测试类 public class Demo1{ public static void main (String[] agrs){ Person p = new Per...
H3C路由交换模拟器
完美支持WINDOWS7,长时间使用不报错
PHP的构造函数,析构函数,(静态)变量,方法
1.php的类的结构以及调用与java的方法很是不同; 2.php使用->调用方法和变量的,用::调用静态方法和变量; 3.php不仅有一个构造函数,还有有一个析构函数。子类的这两种函数可被parent::来进行调用保留。 一、父类 myClass.php <?php header("Content-type:text/html;charset=utf-8"); class
JAVA 构造方法 静态变量 静态方法
一、构造方法 作用: 1.出对象的属性(成员变量)进行初始化 写法: 1.构造方法的方法名与类名相同(大小写必须一样) 2.没有返回值类型,(viod都不用写) 3.没有返回值(没有return) 二、构造方法的注意事项 1.如果你没有写构造方法,那么系统会给你自动提供一个无参的构造方法
java 中类初始化,构造方法,静态成员变量,静态块的加载顺序
1、编译和运行概念要搞清:编译即javac的过程,负责将.java文件compile成.class文件,主要是类型、格式检查与编译成字节码文件,而加载是指java *的过程,将.class文件加载到内存中去解释执行,即运行的时候才会有加载一说。2、类的加载时机,肯定是在运行时,但并不是一次性全部加载,而是按需动态,依靠反射来实现动态加载,一般来说一个class只会被加载一次,之后就会从jvm的cla
java构造方法 静态变量小知识
一 构造方法 1 作用 :对对象的属性(成员变量)进行初始化的 2 写法: (1)构造方法的方法名与类名相同(大小写必须一样) (2) 没有返回值类型(连void都不写) (3)没有返回值 没有return(测试类 一个文件只有一个访问public)public class Demo01 { public static void main(String[] args) {
java的类构造函数可以访问哪些变量
/** * Created by cxh on 17/08/03. */ public class Main { /** * 代码验证问题: * 1.使用this关键字时,构造函数里面可以访问:任意位置的成员变量 * 2.不使用this关键字,构造函数里面可以访问:任意位置成员变量 or 静态变量. * 和jvm相联系: * (1