对象的创建和使用

对象的创建和使用
                       //学生类
                       //学生类是一个模板
                       //描述了所有学生的共同特征【状态+行为】
                       以下的类只描述学生的属性    
                       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 类名{ }
                      *