java-小白求助。麻烦帮忙看看给解释解释

问题描述

小白求助。麻烦帮忙看看给解释解释

package com.imooc;

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

    T t1 = new T();
    T t2 = new T();

    System.out.println("t1's i ="+t1.i+"tt1's j="+t2.j);

    System.out.println("t2's i ="+t2.i+"tt2.s j="+t2.j);
}

}

class T{
static int i = 0;
int j = 0;

T(){
    i++;
    j = 1;
}

}

输出结果是这个:为什么啊?

t1's i =2 t1's j=1
t2's i =2 t2.s j=1

解决方案

一个变量如果被static 修饰,那么在伴随着类的实例化将在内存中,开辟一个空间用来专门存储该变量。
特点是 被static修饰的成员变量和成员方法独立于该类的任何对象。也就是说,它不依赖类特定的实例,被类的所有实例共享。
问题中i变量被static修饰当你new t1 的时候 i变成1 new t2时用的是同一个i 所以i在内存中变成2

解决方案二:

i是静态变量,被所有实例共享

解决方案三:

如果你不理解,那么你暂时可以认为类的定义中如果有这个 static 修饰的属性时,他就是一个 全局变量的概念

在c中改变全局变量有啥后果你懂得

解决方案四:

百度看看static

时间: 2024-11-18 06:17:08

java-小白求助。麻烦帮忙看看给解释解释的相关文章

java小白求助:如何使用枚举类型?

问题描述 看<java编程思想>中关于枚举的用法,我把枚举类型和一个类放在一块,结果总是在枚举定义的地方报错:thepublictypeSpicinessmustbedefinedinitsownfile.请问这是怎么回事呢?小白拜谢大家了 解决方案 解决方案二:那就别放在一块.一个文件只能有一个对外的publicclass.解决方案三:引用1楼u011461314的回复: 那就别放在一块.一个文件只能有一个对外的publicclass. 意思是说,我需要建一个包,然后新建枚举,然后在Burr

settimeinmillis()-小白求助。麻烦大神给看一下,要求输出时间。

问题描述 小白求助.麻烦大神给看一下,要求输出时间. package LianXi; import java.util.Calendar; import java.util.GregorianCalendar; public class TestCalendar { public static void main(String[] args) { GregorianCalendar now = new GregorianCalendar(); int year =now.get(Gregoria

小白求助,java的时间问题。

问题描述 小白求助,java的时间问题. 大家好:题目如下:编写程序使:产生10个随机数相加,加数是两个1到15 之间的整数.要求 显示出回答正确的答案个数.和测验时间(也就是完成这个加法测验的时间).我的代码如下: import java.util.*; public class A6_51{ public static void main(String[] args){ Scanner input=new Scanner(System.in); int dui=0; int cuo=0; f

java小白试着分析了一下这个代码。求大神帮忙看一下正不正确;代码如下:

问题描述 java小白试着分析了一下这个代码.求大神帮忙看一下正不正确:代码如下: public class Test{ private static int i = 0; private static int j = 0; public static void main(String[] args) { int i = 2;//i之所以是2 而不是0 是因为 就近原则 int k = 3; { int j = 3; System.out.println("i+j ist"+i+&qu

麻烦帮忙解下这道题关于java缓冲输入输出流

问题描述 麻烦帮忙解下这道题关于java缓冲输入输出流 用带缓冲的输入输出流为demo.txt文件写入"hello demo"字符串,并将文件中的内容读出来和显示 解决方案 直接要代码,不是好做法.建议自己查一下API文档,在io包下,相信你应该就能做出来了

希望得到大神的帮助-JAVA小白向大神求助。mousemotionlistener

问题描述 JAVA小白向大神求助.mousemotionlistener 代码可能有点乱而长.我就是想问鼠标控制不了 hero.png这个图片的移动 package start; import javax.swing.ImageIcon; import javax.swing.JFrame; public class StartFrame extends JFrame{ /** * */ public int x; public int y; public static StartFrame s

java中需要统计子串在字符串中出现多少次。 麻烦大家帮我详细解释一下那串代码是什么意思。谢谢了!

问题描述 java中需要统计子串在字符串中出现多少次. 麻烦大家帮我详细解释一下那串代码是什么意思.谢谢了! String str="abcjavadefjavadddjava"; String newStr="java"; int count=0; int i=0;//出现的下标 while(str.indexOf(newStr,i)>=0 && i<=str.length()){ count++; i = str.indexOf(ne

java-求大神帮忙,Java小白一个

问题描述 求大神帮忙,Java小白一个 不需要连接数据库,用基础的Java代码即可 解决方案 完成需要五个类: 第一个:Menu.java package com.bj.dxb; public class Menu { private static Menu instance = null; /** * 无参构造方法 */ private Menu() { } /** * 单例设计模式 */ public static Menu getInstance() { if (instance == n

字符串转换-求助!java小白,提示错误:类型不匹配:byte问题

问题描述 求助!java小白,提示错误:类型不匹配:byte问题 不能从byte[]转换为Byte[] 解决方案 弱智...我知道了,byte...别喷我了 解决方案二: java错误提示----------类型不匹配