day11

day11

子类构造器的特点

  • 子类的全部构造器,都会先调用父类的构造器,再执行自己,即默认在子类构造方法第一行存在一个super();(不写也默认存在)
  • 如果父类没有无参数构造,我们必须手动的在子类构造器添加super(.....);

如何快捷生成子类构造

先实现父类构造,再选择子类成员变量

多态

多态是在继承/实现情况下的一种现象,表现为:对象多态,行为多态

父类引用子类对象

new 对象的快捷键 Ctrl+Alt+V

变量的类型是什么,就必须给这个变量赋值什么样的类型

注意:如果这个变量是引用类型,赋值赋的是一个对象(本类对象,子类对象)

多态的本质

多态的本质就是父类指针指向子类对象

父类只能访问自身可访问的函数;

在栈里定义父类引用指向堆里子类对象,如果子类和父类都有同样的成员变量 对象里会有两份这个成员变量,对哪个成员变量进行操作依具体情况而定

如果没有,则子类会直接使用父类成员变量进行操作

子类对象里会有super的全部属性

instanceof关键字可判断某个对象是否属于某个类

final关键字

  • final可以修饰类、方法、变量
  • 修饰类:该类不能被继承
  • 修饰方法:方法不能被重写
  • 修饰基本类型变量:该变量只能被赋值一次
  • 修饰引用类型变量:引用变量地址值不可以改变

final类似于c++里的const

快捷键:

ctrl+shift+U:切换大小写

Ctrl+Alt+V:自动补全new的代码

Ctrl+Alt+M:抽取方法

抽象类

  • 抽象类中不一定有抽象方法,有抽象方法的一定是抽象类
  • 类该有的成员抽象类都可以有
  • 最关键的特点:抽象类不能有实例,仅仅作为一种特殊父类让子类继承并实现
  • 一个类继承抽象类,必须写完抽象类的全部抽象方法,否则这个类也必须定义成抽象类

抽象类的应用:

模板方法设计模式

解决方法中存在重复代码的问题

写法

  • 1.定义一个抽象类

  • 2.在里面定义2个方法(一个是模板方法(最好用final修饰):把相同代码放里面;一个抽象方法:具体实现交给子类完成)

    接口

    接口中定义的成员变量都是常量——默认被public final static 修饰

接口不能创建对象,可以创建一个接口的实现类来创建对象

接口的好处

  • 弥补类单继承的不足
  • 让程序可以面向接口编程,根据规范开发
  • 面向接口开发,可以灵活方便的切换各种业务实现

接口的多继承

一个接口可以同时继承多个接口

多继承的好处

便于实现类去实现

finalize()方法

类似于c++的析构函数,在对象被销毁时执行,由于Java自动进行垃圾回收,所以不知道JVM何时会执行检查与回收操作,可以使用System.gc();提醒Java检查是否有没被指向的对象,有则进行释放。

posted @   萌新小夏  阅读(12)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示