对象的创建和使用
对象的创建和使用
//学生类
//学生类是一个模板
//描述了所有学生的共同特征【状态+行为】
以下的类只描述学生的属性
student属于类,属于引用数据类型,这个类型名就是:student
这是定于类的语法模式:
public class Student{
//类体 = 属性+方法(主要组成类体的源头)
属性【存储数据的采用的变量方式】
由于变量定义在类体当中,方法体之外,这种变量称为:成员变量
如
所有学生都有学号信息
但是每一个学生的学号都是不同的
所以要访问这个学号,必须先创建对象,通过对象去访问学号信息
学号信息不能通过 ”类“ 去直接访问, 所以这种成员变量,又叫做实例变量
其中,对象又被称为实例,所以又叫做对象变量【对象级别的变量】
不创建对象,变量是没有内存空间的//
}
对象的使用和创建
public static void mian(String[] args){
//通过一个类可以实例化 n个对象
实例化对象的语法格式:new +空格+ 类名();
new运算符的作用是:创建对象,在jvm堆内存当中开辟新的内存空间
栈内存(存储的是局部变量)
堆内存:存储new的对象
student s = new student();s 随时变量名在 对象中称为 引用
其中student s是局部变量(存储在栈内存中) (也叫引用)
new.Student();叫做是一个学生对象 即:是一个什么什么的对象
成员变量没有手动赋值的话,系统默认赋值
基本数据类型默认值为:0
引用数据类型:null
什么是对象:new运算符在堆内存中开辟的空间称为对象
什么是引用:引用本质上是变量名 ,只不过这个变量中保存了一个Java对象的内存地址
只能通过引用去访问堆内存
引用保存地址( 就是栈内存区域保存地址),指向对象
在堆内存也是可以生成地址的
连续进行访问两个类则需要的格式:变量名.类名.类名。依次往后加 .类名
访问实例变量的语法格式:
引用.变量名(对象变量的变量名)
访问实例变量的语法格式:
读取数据:引用.变量名(这里变量名是对象变量)
修改数据:引用.变量名 = 值;
如:u.name;
u.addr.city;
实例变量又称 属性 也称对象变量
实例变量不能通过”类名“的方式访问
方法才是通过类名进行访问
对象级别的变量,变量存储在Java对象的内部,必须先有对象,通过对象才能访问实例变量
实例变量:
前边没有修饰符static
静态变量:
前边有修饰符static
静态变量存储在方法区内
栈内存变化最频繁,最先有数据的是方法区内存,
垃圾回收器主要针对堆内存
没有更多的 引用 指向它的时候(这个对象无法被访问) Java对象将它视为编程垃圾
垃圾回收器:自动垃圾回收机制,Gc机制
空引用访问“实例”相关的数据一定会出现空指针异常(运行阶段)
就是没有给它赋上相关的数据,或者数据变成了空值。才导致了空指针异常
}
几种方法:
* public class 类名{ }
*