您的位置:首页 > 其它

面向对象第三课,程序执行过程的内存分析,堆、栈分析

2015-02-06 10:19 232 查看
java语言中除基本类型外的变量类型都称之为引用类型

java中的对象是通过引用对其操作的

Student s1 = new Student();

代码执行到这里时,对象里的引用还没有复制,除8种数据基本类型外,所有的数据默认值为String为ull,int为0,boolean为false;

String name = null; //姓名
int id = 0; //学号
int age = 0; //年龄
String gender = null; //性别
int weight = 0;
面向对象中,整个程序的基本单位是类,方法是从属于类的
方法定义格式:

修饰符[public、private]   方法返回值类型[int、String等]    方法名(形参列表){

}

java中方法参数传递是:值传递



变量的作用域






内存分析,栈、堆、方法区

栈:存放局部变量

堆:存放new出来的对象

方法区:存放类的信息(代码),static变量,常量池(字符串常量等)

public class Student{
//静态的数据
String name; //姓名
int id; //学号
int age; //年龄
String gender; //性别
int weight; //体重

//动态的行为
public void study(){
System.out.println(name+"在学习");
}

//形参sname,要在对象实例里传值
public void sayHello(String sname){
int id = 0;;
System.out.println(name+"向"+sname+"说你好");
}

//main方法虽然放到Student类里,可以认为和Student类有关,也可以认为和他没关系,因为系统跑起来会找main方法,Student只是类名而已
public static void main(String[] args){
//类是对象的模板,通过new创建对象的实例
//通过类加载器Class Loader加载Student类,加载后,在方法区中就有了Student类的信息!
Student s1 = new Student();
s1.name="欣欣";
s1.study();
s1.sayHello("亮亮");
}
}

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: