java之基础概念的详解??? java中的对象 变量 变量的引用 变量引用的实体 变量引用 都是什么意思 期待通俗的解答 ?最好能举例说明~~谢谢~~ 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 下面的程序中 为什么y的值没有变 而zhang.money变了 最好能指出程序中的对象 变量的引用 变量引用的实体这些概念 变量引用跟变量的引用 相同吗?class People{ int money; void setMoney(int y){ money=y; }}class A{ void f(double y,People p){ y=y+1; p.setMoney(100); System.out.println("参数y的值是:"+y); System.out.println("参数对象p的money是:"+p.money); }}public class Example{ public static void main(String args[]){ double y=0.8; People zhang=new People(); zhang.setMoney(8888); A a=new A(); System.out.println("在方法f调用前对象zhang的money值为:"+zhang.money+"y的值是:"+y); a.f(y,zhang); System.out.println("在方法f被调用之后main方法中y的值仍然是:"+y); System.out.println("在方法f被调用之后main方法中对象zhang的money是:"+zhang.money); }} java中的对象 变量 变量的引用 变量引用的实体 变量引用 对象: A a = new A(); new了一个对象 A变量 A a = new A() a是对象的变量名变量的引用: 一个变量指向了一块内存区 变量引用的实体: A a 建议去看看C(还是C++?)中关于程序在运行时的内存就会明白了.比如说:如果想在内存中存放一个字符串,CPU会怎么做?为什么会这样?就是因为有编译器.还有解释器,JVM等.String str="aa";经过编译后,会生成一些字节码,因为约定好,在JVM里运行的时候,JVM就会翻译成相对的机器指令,比如:开辟内存空间,让空间的值是多少....CPU就会按照这些生成的指令去执行.CPU知道开辟空间,让空间的内容变成什么,或者让哪些空间内容与哪此空间内容进行计算等.....CPU只知道操作内存.我们写程序就按照规范写好,编译器就会生成相约的字节码,而JVM就会去让CPU执行些什么操作...说引用,对象,就是为了让我们人看得更清楚,而编译器可以正确的编译成我们想要的执行顺序~~~~int i=1;就这么程序里的一句,编译之后,JVM就是告诉CPU,开辟个32位的空间,让它的值为1.我们写的程序为了更好的去理解,就说变量等词汇.String str="aaa";JVM可能会告诉CPU,去到指定的一段空间内,查询这样的一串字符,如果没有找到,那么就在那个创建这样一段空间,让它的内容是"aaa",这时候如果要深入了解那么就要理解内存当中如何存放"aaaa"?这就涉及到二进制的东东了.在Java程序里,就说str是一个对象.这个对象在内存中会是什么样的,是不是只开辟32位的空间呢?这就要根据String这个类的相关信息了.糊里糊涂说了一堆,也不知道说到点子上没有 对象: A a = new A(); new了一个对象 A 变量 A a = new A() a是对象的变量名 变量的引用: 一个变量指向了一块内存区 变量引用的实体: A a jButton事件(简单快速拿分)散分 java 中synchronized 用法 爬虫程序如何访问论坛 在java中如何获得字符串中重复字符的个数 struts 跳转问题 求一算法!!!! 求助:我想做一个要使用扫描仪的java桌面程序,请问需要什么类包? 怎么把一个字符串里面所有的"\r"和"\n"全部删除掉? 请教几个类 各位朋友哪里有控制语句的视频教学,求要好下的 ,谢谢 搜索引擎用户界面制作 JTable editor
最好能指出程序中的对象 变量的引用 变量引用的实体这些概念 变量引用跟变量的引用 相同吗?
class People{
int money;
void setMoney(int y){
money=y;
}}
class A{
void f(double y,People p){
y=y+1;
p.setMoney(100);
System.out.println("参数y的值是:"+y);
System.out.println("参数对象p的money是:"+p.money); }
}
public class Example{
public static void main(String args[]){
double y=0.8;
People zhang=new People();
zhang.setMoney(8888);
A a=new A();
System.out.println("在方法f调用前对象zhang的money值为:"+zhang.money+"y的值是:"+y);
a.f(y,zhang);
System.out.println("在方法f被调用之后main方法中y的值仍然是:"+y);
System.out.println("在方法f被调用之后main方法中对象zhang的money是:"+zhang.money);
}}
变量 A a = new A() a是对象的变量名
变量的引用: 一个变量指向了一块内存区
变量引用的实体: A a
比如说:如果想在内存中存放一个字符串,CPU会怎么做?为什么会这样?就是因为有编译器.还有解释器,JVM等.
String str="aa";
经过编译后,会生成一些字节码,因为约定好,在JVM里运行的时候,JVM就会翻译成相对的机器指令,比如:开辟内存空间,让空间的值是多少....
CPU就会按照这些生成的指令去执行.
CPU知道开辟空间,让空间的内容变成什么,或者让哪些空间内容与哪此空间内容进行计算等.....
CPU只知道操作内存.
我们写程序就按照规范写好,编译器就会生成相约的字节码,而JVM就会去让CPU执行些什么操作...
说引用,对象,就是为了让我们人看得更清楚,而编译器可以正确的编译成我们想要的执行顺序~~~~
int i=1;
就这么程序里的一句,编译之后,JVM就是告诉CPU,开辟个32位的空间,让它的值为1.我们写的程序为了更好的去理解,就说变量等词汇.
String str="aaa";
JVM可能会告诉CPU,去到指定的一段空间内,查询这样的一串字符,如果没有找到,那么就在那个创建这样一段空间,让它的内容是"aaa",这时候如果要深入了解那么就要理解内存当中如何存放"aaaa"?这就涉及到二进制的东东了.
在Java程序里,就说str是一个对象.这个对象在内存中会是什么样的,是不是只开辟32位的空间呢?这就要根据String这个类的相关信息了.糊里糊涂说了一堆,也不知道说到点子上没有
变量 A a = new A() a是对象的变量名
变量的引用: 一个变量指向了一块内存区
变量引用的实体: A a