今天学习了类和对象的定义格式以及类和对象的内存分析

今天学习了类和对象的定义格式以及类和对象的内存分析

1、首先需要定义一个类,然后再类里面定义相应的属性和方法;如:创建一个人的类,人应该要有名字、年龄、等等,就在类中定义相应的数据类型属性;如

class Test{

  String name;

  int age ;

  //方法

  public void Test1(){

    System.out.println();

  }

}

 

(1)、定义好类以及属性之后要返回主方法声明类的变量以及创建对象和调用属性、方法

        //声明一个类的变量
        Test1 forMe = null;
        //创建一个Test的对象
        forMe = new Test();
        //调用属性和调用方法
        forMe.age=22;
        forMe.name="小黑";

  //调用方法

  forMe.Test1();

 

(2)、调用完成后运行,这是我的代码运行结果:

 

 2、类和对象的内存分析:

哎 我不知道怎么表达!我就直接给图写总结吧!

 

(1):如果是声明了两个对象,h2赋值给h1时,他们的栈内存储存地址就会指向h1的堆内存数据,如果h2已经赋值了h1 那么只要你修改了h1 或h2的数据,两个都会随之改变;如:现在h2赋值了h1,那么他们两个的name=小白,age=4;如果修改了h2的name=小黑,那么h1的name=小黑;(注意:对象之间赋值只有相同类型才可以赋值)如图所示:

 

 

 

(2):如果将h2 = h1之后,之前h2所定义的数据类型就不会被引用,被虚拟机视为垃圾对象,并且回收

 

 

 

 

 

 

          类与对象小结:

    1、定义类时要定义相应的属性和方法

    2、定义好类以及属性之后要返回主方法声明类的变量以及创建对象和调用属性、方法
              3、new 关键字表示向内存申请空间,也表示实例化一个对象,创建一个对象;
              4、一个对象在内存中的大小,由该对象的所有属性所占的内存大小的总和。引用类型变量在32位操作系统上占4个字节在64位操作系统上占8个字节。加上额外的对象隐性数据所占的大小。

              5、对象之间的赋值只有相同的类型才可以赋值
              6、不同的引用,指向同一个对象,任何一个引用改变对象的值,其他引用都会反映出来。
              7、编程时要注意的问题:在确定不适用对象时,要尽早释放对象:引用=null  如:i=null;
              8、当一个堆中的对象没有被任何引用变量所指向时,该对象会被虚拟机的GC程序认为是垃圾对象,从而被回收。

 

心得:最近这几天又没学习!懒惰啊!!哎,还是要加油!!!

 

posted @ 2020-04-20 13:13  老智障  阅读(563)  评论(0)    收藏  举报