类与对象
一、类与对象
-
类是一个抽象模板;对象是一个具体的实例
-
类中只有属性和方法
-
属性 静态属性
-
方法 动态行为 ,static后变为静态方法,可以直接通过类名调用
-
二、方法
-
方法的定义:动态行为
-
分类:动态方法、静态方法
-
调用:
-
静态方法:类名.方法名
[静态方法是和类一起加载的,所以可以直接通过类模板调用(不用new)] -
动态方法:
-
先new一个对象,例如 Person p = new Person();
-
对象名去调用方法,p.sleep();
-
-
三、对应的引用
-
引用类型
通过对象引用的类型
-
基本类型
四、属性
-
属性书写格式
-
万能格式: 修饰符 属性类型 属性名 = 属性值;
-
-
默认初始化
-
数字 : 0 , 0.0
-
char : uooooo
-
boolean : false
-
除了基本类型,引用类型默认值均为 null
-
五、对象的创建和使用
-
对象的创建
-
必须使用new关键词创造对象,还需要有构造器 ,便于初始化属性值 Person p = new Person();
-
对象的属性 p.name
-
对象的方法 p.sleep();
-
六、创建对象内存分析
-
内存空间划分
-
栈内存空间
-
出入栈方式:先进后出
-
作用: 用来存放引用变量
[引用变量名指向真实的类对象【类就是一个模板】等等 和 main()函数名变量,总上,可以引用变量理解为"药引子"]
-
-
堆内存空间:
-
出入栈方式:后进先出 ;
-
作用: 用来存放具体对象,包括new出来的具体对象本身、方法本身(包括静态方法)、静态属性
-
例如:
Pet p = new Pet();中p是引用变量,new Pet()才是具体对象
所以,p存放在栈内存中,而 new出来的Pet()对象放在堆空间中 -
-
方法区(特殊空间):堆中有个特殊区域,即方法区,用来存放字节码文件,在堆中所占内存空间固
定不变
-
静态方法区 :在方法区内的静态方法区存放静态方法,静态方法是和类一起加载的,所以可以直
接通过类模板调用(不用new)
-
-
-

浙公网安备 33010602011771号