/*
对象的创建和使用*/
public class OOTest01
{public static void main(String[] args){//通过一个类可是实例化N个对象//实例化对象的语法:new.类名();//new是java语言中的一个运算符//new运算符的作用是创建对象,在JVM【堆】内存中开辟新的内存空间//方法区内存:在类加载的时候,class字节码代码片段被加载到该内存空间中//栈内存【局部变量】:方法代码片段执行的时候,会给该方法分配内存空间,在栈内存中压栈//堆内存:new的对象在堆内存中存储//Student是一个引用数据类型//s是一个变量名//new Student()是实例化一个学生对象//s是一个局部变量【在栈内存中存储】Student s=new Student();//什么是对象:new运算符在【堆内存】中开辟的内存空间称为对象//什么是引用:引用是一个变量,只不过这个变量中保存了另一个java对象的内存地址。//java语言中,程序员不能直接操作堆内存,java中没有指针,不像C语言//java语言中,程序员只能通过【引用】去访问堆内存中对象内部的实例变量//访问实例变量的语法格式1://读取数据:引用名.变量名int stuNo=s.no;String stuName=s.name;int stuAge=s.age;boolean stuSex=s.sex;String stuAddr=s.addr;System.out.println(stuNo);//0System.out.println(stuName);//nullSystem.out.println(stuAge);//0System.out.println(stuSex);//falseSystem.out.println(stuAddr);//null //访问实例变量的语法格式2://修改数据:引用名.变量名=值s.no=10;s.name="java"s.age=20;s.sex=true;s.addr="世界村"System.out.println(stuNo);//10System.out.println(stuName);//javaSystem.out.println(stuAge);//20System.out.println(stuSex);//trueSystem.out.println(stuAddr);//世界村 //---------------------------------------------------//再通过类实例化一个全新的对象//stu是一个引用//stu同时也是一个局部变量//Student是变量的数据类型Student stu=new Student();System.out.println(stu.no);//0System.out.println(stu.name);//nullSystem.out.println(stu.sex);//falseSystem.out.println(stu.age);//0System.out.println(stu.addr);//null//举例子【错误例子】//编译报错,no这个实例变量不能直接采用"类名"的方式访问//因为no是实例变量,对象级别的变量,变量存储在java对象的内部,必须先有对对象//通过对象才能访问no这个实例变量,不能直接通过"类名"访问//System.out.println(Student.no);//局部变量在栈内存中存储//成员变量中的实例变量在堆内存的java对象内部存储//实例变量是一个对象一份,100个对象有100份。【对象可以相同,也可以不相同】}
}