day5-笔记

1>>>构造的理解

 方法名与类的名字相同 没有返回值类型

 在创建对象的时候调用构造函数

  不能在构造函数里面返回一个值  但可以用return 函数结束该构造函数

 

  执行构造函数的过程:

  person p =new Person();

  先在栈 区开辟一个空间 存放 p变量 

  然后在堆区里面创建一个空间 

  初始化话成员 变量 成员方法

  运行构造函数

  变量p的地址 指向堆空间的地址

 

  默认的构造函数 

  当一个类没有构造的时候 jvm会自动为这个类分配一个默认的构造函数

  当你指定一个构造函数的时候 jvm 就不会给你分配构造函数 了  当你在调用空构造时侯会报错

 

 

  构造函数重载 的互相调用可以 用this();来调用

  只能写在第一行  避免递归调用就行

 

 

2>>>this的理解

  this代表当前对象 指向当前的堆空间 this的本质就是 一个引用

 

  >>>参数传递的理解

  基本类型数据的传递 是直接修改 栈空间的数据

  引用数据类型的传递 是把空间的地址 赋值给另一个变量 然后 通过 这个变量 指向相同的堆空间 修改 原来那个堆空间里面的内容

  String 这个东西 有点变态 它是一个常量 String sm="SM"; 每一个等于号就相当与创建一个对象;

 

3>>>static的理解

 

静态的东西 和别的对象的成员变量,成员方法 不放在一块 

它放在 一个静态块 所有的对象都可以 修改 都可以访问

静态变量在类加载时初始化.(类在第一次被使用的时候加载)

 

在静态方法中不能用this关键字

 

Person p = new Person();

栈内存创建变量

在名称空间中检查是否有Person.class, 有则不加载, 没有则加载

处理静态成员. 初始化静态变量, 运行静态代码块, 加载静态方法. 静态变量初始化和静态代码块顺序按代码从上到下顺序执行

堆内存创建对象, 初始化成员变量, 运行普通代码块, 加载非静态方法

运行构造函数

变量记住对象地址

 

 

  

五.垃圾回收

1.finalize()

在对象被销毁之前会自动调用finalize()方法

finalize()方法在每个类中都会有, 因为这个方法在Object类中定义.

Object是所有类的父类, 所有类都会继承Object类中的方法.

2.gc()

JVM虚拟机处理垃圾的机制是由垃圾的量来决定的, 当虚拟机中的垃圾对象足够多时, 就开始处理垃圾了.

如果我们想将虚拟机中的垃圾对象全部清除, 可以使用System.gc()方法通知虚拟机清理垃圾(需要时间).

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值