您的位置:首页 > 编程语言 > Java开发

I学霸官方免费教程七:Java基础之类和对象

2015-08-10 17:11 676 查看

类和对象

类和对象

例如:人类指的是包含所有人的集合,而某个人就是人类的一个具体的对象

在java中,类是用于描述对象的抽象,对象是使用类创建出来的具体实例。

简单的说,类就是我们编写的代码,对象就是程序运行时,通过类在内存中创建的一个复制品。类相当于创建对象的模板,对象相当于通过模板创建出来的实物。

声明类的语法格式:[访问修饰符] class 类名{ }

声明某个类型的引用(变量):类名 变量名;

创建对象的语法格式:new 类名();

可以将以上两句合并:类名 变量名 = new 类名();

访问类的成员:类名.属性 类名.方法();

所有的自定义类,都是引用类型; 直接包含在类中的变量、方法等,统称为类的成员。

实例:
/**
* 使用关键字class声明一个类,类名叫Person
* @author 学霸联盟 - 赵灿
*/
public class Person {
//声明String类的变量name
String name;
}
/**
* 使用关键字class声明一个类,类名叫PersonDemo
* @author 学霸联盟 - 赵灿
*/
public class PersonDemo {
public static void main(String[] args) {
//声明一个Person类型的变量p
Person p;
//用关键字new创建一个Person类型的对象,并将对象赋值给变量p
p = new Person();
//声明一个Person类型的变量p1,并赋值
Person p1 = new Person();
//为对象p的name属性赋值
p.name = "张三";
//输出对象p的name属性值
System.out.println(p.name);
}
}
运行结果:张三


JVM的内存管理

当启动一个java程序时,首先会启动一个JVM;JVM会在内存中划出一块空间,用于运行启动的java程序。这块空间粗略的可以分为栈(堆栈)、堆和方法区

栈(Stack):当一个方法被执行时,会在栈内存中创建一个栈帧(Stack Frame)用于存储局部变量等信息,这个创建栈帧的过程叫做压栈(入栈)。当方法执行完毕后,这个方法的栈帧会从栈内存中被清除,这个过程叫做弹栈(出栈)。

栈的特性包括:1、“后进先出” 2、线程私有 3、生命周期和线程相同

堆(Heap): 对于大多数应用来说,堆是Java虚拟机所管理的内存中最大的一块。Java堆是被所有线程共享的一块内存区域,在虚拟机启动时创建。此内存区域的唯一目的就是存放对象实例,几乎所有的对象实例都在这里分配内存。

堆的特性包括:1、动态分配内存 2、线程共享 3、生命周期不确定

方法区(Method Area):它用于存储已被虚拟机加载的类信息、常量、静态变量、编译后的代码等数据。虽然Java虚拟机规范把方法区描述为堆的一个逻辑部分,但是它却有一个别名叫做Non-Heap(非堆),目的应该是与Java堆区分开来。

方法区的特性包括:与堆内存类似

扩展阅读:《JAVA虚拟机对内存的管理》

版权声明:本文为博主原创文章,未经博主允许不得转载。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: