面向对象02

1.内存管理:由JVM来管理

   1)堆:

       1.1)用于存储所有new出来的对象(包括成员变量)

       1.2)成员变量的生命周期:

               创建对象时存在堆中,对象被GC回收时一并消失

       1.3)垃圾回收器(GC)不定时到堆中查看,看到垃圾

           自动回收:没有任何引用所指向的对象。回收

              过程是透明的,并不是一看到垃圾就马上回收,

          若想让它快一些回收,可以调用System.gc()

       1.4)内存泄漏:不再使用的对象没有被及时的回收,

               建议:当对象不再使用时应及时将引用设置为null

   2)栈:

        2.1)用于存储正在调用中方法的所有局部变量

        2.2)调用方法时在栈中为该方法分配一块对应的栈帧,栈帧中包含所有的局部变量(包括参数),方法调用结束时,对应的栈帧消失,局部变量一并消失。

        2.3)局部变量的生命周期:

       调用方法时存在栈中,方法调用结束时与栈帧一并消失

   3)方法区:静态方法区 存放静态成员 静态变量 静态函数

       非静态方法区 存放构造函数 成员

   3.1)方法用于存放类的信息

     -方法区用于存放类的信息,java运行时,首先会通过加载器载入类文件的字节码信息,经过解析后将其装入方法区,类的各种信息,包括方法都在方法区中存储。

   3.2)方法只有一份,通过this来区分具体是哪个引用

     -当类的信息被加载到方法区时,除了类的类型信息以外,同时类内的方法也定义在方法区中。

     -类在实例化对象时,多个对象会拥有各在在堆中的空间,但所有的实例对象是共用方法区的一份方法定义的。

2.继承:

   1)目的:避免代码的重复,有利于代码的复用

   2)通过extends实现继承

   3)父类:所有子类所共有的属性和行为

        子类:子类所特有的属性和行为

   4)子类继承父类后,子类具有:

        子类+父类

   5)一个父类可以有多个子类

        一个子类只能有一个父类----单一继承

   6)继承具有传递性

   7)java规定:构造子类之前必须先构造父类,子类构造中若没有调用父类的构造方法,则默认super()来调用父类的无参构造,若自己调了,则不再默认提供

Super()调用父类构造,必须位于子类构造方法的第一行。

3.super:指代当前对象的父类对象

   用法:

      super.成员变量名-------访问父类的成员变量

      super.方法名()-------------调用父类的方法

      super()------------------调用父类的构造方法

4.向上造型:

    1)父类型的引用指向子类的对象 Animal animal = new dog();

    2)能点出来什么,看引用的类型

5.方法的重写(Override):

    1)发生在父子类中,方法名,参数列表与父类相同,方法体不同。

    2)重写方法被调用时,看对象的类型

    3) 当子类对象的重写方法被调用时,(无论是通过子类的引用还是父类的引用),运行的是子类的重写后的方法

    4)子类在重写父类的方法时,可以通过super关键字调用父类的版本。

6.重写与重载的区别:

    1)重写:父子类中,方法名相同,参数列表相同。

         遵循"运行期"绑定,根据引用指向对象的类型调用方法。

    2)重载:一个类中,方法名相同,参数列表不同,方法体一般也不同。

         遵循"编译期"绑定,根据引用的类型调用方法。

7.访问控制修饰符:

    1)public:公开的,任何类

   2)private:私有的,本类

   3)protected:受保护的,本类、子类、同包类

   4)默认的:什么也不写,本类、同包类

    类的访问修饰:public和默认的

    类成员的访问修饰:如上4种都可

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值