您的位置:首页 > 职场人生

黑马程序员——java面向对象的概念,Java类、引用变量与堆对象

2013-04-08 00:37 323 查看
-------android培训java培训、期待与您交流!----

一,面向对象概念

1.类型(类) 指一个名词概念,如:老师,学生,图书

2.引用(变量) 指引用具体概念实例的代词,如:某人、某物

3.对象(东西) 指具体概念的个体实例,如:张无忌这个人、

4.行为:方法

5.多态 行为或者引用,在具体情形下会发生变化的现象

比如:“一只动物”可以是“一匹马”、“一头驴”、“一只猴子”,多态的; “打”可以是“打酱油”、“打麻将”,“打人”,根据宾语发生变化,多态 的。

6.封装 :任何对象实例都是尽可能封装, 减少暴露,它的实现细节对你是透明的(看不到)。比如:只能看到汽车的壳子、轮胎等,看不到发动机。

7.继承 :概念的继承关系。

二.java类

1,Java类,是用来描述事物类型的 如:public class student{

}

2,类的声明,在“学生管理系统”中有概念:student

student的特征是:姓名,学号,班级,性别,年龄等

在Java中这样表示“student“这个事物类型:

public class student{

String name;

long id;//学号

String bj;

int age

}

注:”{}”花括号内的内容是类体

三,引用变量与对象的创建过程

public class StudentDemo{

public static void mian(string[] args){

Student student; //声明引用student

student=new Student();//创建对象

student.name="lis";

System.out.println(student.name);//lis

student.name="lwangwu";

System.out.println(student.name);//wangwu

}

}

计算机执行Java程序时会在内存中开辟一块栈内存(stack)空间。其实在程序运行期间,JVM迓开辟了一个堆内存(heap)空间。 栈内存空间的存储特点是“后进先出”,堆内存空间的存储特点和栈不同,类似于一盘散沙,随处可以“堆放”。

栈内存中的引用变量指向堆内存中的实例对象, 属性是有初始值的,我们将堆内存里的东西称为“对象”,对应现实世界的事物

在程序执行中堆内存中有两个对象,引用变量student指向新创建的对象 原来引用的对象等待垃圾回收。

三,java的内存管理与分配

1, 栈是一块Java使用内存区域,使用的方式:LIFO(后来者居上)堆也是一块Java使用内存区域,使用方式:随机分配。

2,局部变量与堆对象空间分配

Java局部变量和方法参数在栈中分配,大小是按照变量的类型分配

对象在堆中分配,按照类中声明属性(实例变量)分配空间



3. 变量类型与分配

变量分为:基本类型和引用类型

基本类型变量的空间大小:就是基本类型的空间大小,值是基本类型的值

引用变量的值是一个对象的地址值,引用变量通过地址引用了一个堆对象

引用类型变量的占用空间大小和值管理是“透明的(丌可看见)”由Java系统管理:变量占用空间以及值的管理,都是透明的。。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐