成员变量与局部变量的区别
来源:互联网 发布:全国复杂网络大会 编辑:程序博客网 时间:2024/05/21 17:53
package com.lanou3g.tentity;/** * 需求: * 创建一个类 Car类 * 有名字 颜色 轮胎数量 排气量 * 可以行使 可以震一下 * 可以存放物品 * 增加成员方法 介绍自己的方法 * *成员变量 和 局部变量 */public class CarDemo { public static void fun1(int num) { System.out.println(num); num=10; } //参数是引用数据类型时 如何传参 //你要什么? 我就给你什么 public static void fun2(Car car) { car.name="吉利"; car.color="粉红色"; car.sayHi(); } public static void main(String[] args) { int num=123; fun1(num); System.out.println(num);
//初始化 创建 一个car Car car = new Car(); //car的地址传进去 fun2(car); System.out.println(car); //创建一个对象(初始化一个对象) Car car1=new Car();// car1.name="布加迪"; car1.run(0); car1.shock(); car1.sayHi(); System.out.println(car1.name); //思考:两个对象 在内存中的表现 Car car2=new Car(); car2.name="兰博基尼"; car2.color="蓝色"; car2.sayHi(); //两个对象三个引用 Car car3=car2; car3.sayHi();}
}
/**
* 成员变量与局部变量 的区别
* 局部变量:方法中 或者 方法的声明中
*
* 成员变量:在类中方法外
*
* 位置不同
* 局部变量:方法中 或者 方法的声明中
* 成员变量:在类中方法外
*
* 初始化值不同
* 局部变量:必须给定初始值 才能进行使用
*
* 成员变量:只要你创建了对象 就会有默认的初始值
*
* 内存存在的位置不同
* 局部变量:存储在栈内存中
* 成员变量:存储在堆内存中
*
* 生命周期不同(出生 — 死亡)(对变量的访问时 要考虑一下生命周期是否可以访问)
*
* 局部变量:随着方法的入栈而出生 随着方法的出栈而死亡
*
* 成员变量:随着对象的出生而出生 随着对象死亡而死亡
*/
class Car{
//声明成员变量时可以给一个初值
String name="奥迪"; //车名字 String color="红色";//车颜色 int sum=4; //轮胎数量 int ev=1; //排气量 //int a:方法的声明中 //int num:方法中 public void run(int a) { int num; //局部变量 System.out.println("可以使用"); } public void shock () { System.out.println("可以震一下"); } //介绍自己的方法 public void sayHi() { System.out.println(name + color + sum + ev); }
}
内存状态图
:
阅读全文
0 0
- 成员变量与局部变量的区别
- 成员变量与局部变量的区别
- 成员变量与局部变量的区别
- 成员变量与局部变量的区别???
- 成员变量与局部变量的区别
- 局部变量与成员变量的区别
- 成员变量与局部变量的区别
- 局部变量与成员变量的区别
- 成员变量与局部变量的区别
- 成员变量与局部变量的区别
- 成员变量与局部变量的区别
- 成员变量与局部变量的区别
- 成员变量与局部变量的区别:
- 类内部成员变量与局部成员变量的区别
- 成员变量与局部变量区别
- 第十二、Java的成员变量与局部变量的区别
- Java 成员变量与局部变量的区别:
- java 多线程通信--成员变量与局部变量的区别
- python basemap 在地图标点
- Leetcode解题笔记 53. Maximum Subarray [Easy] 动态规划
- jQuery操作DOM
- 2017-12-05——iOS——self.和下划线访问的区别
- 42使用NanoPiM1Plus在Android4.4.2下的录音测试
- 成员变量与局部变量的区别
- 简单的数组转制案例
- QT登陆验证机制并显示数据库内容
- JavaScript 实战3
- 中国剩余定理
- “戏”说Spark-Spark核心-Stage划分及Pipline的计算模式
- 机器学习技法-Kernel Logistic Regression
- Oracle数据库文件迁移步骤
- Linux任务计划cron