zoukankan      html  css  js  c++  java
  • Java Day 09

    子父类的构造函数
     在子类的构造函数中,第一行有一个默认的隐式语句:super()
     子类的实例化过程:子类中所有的构造函数默认都会访问父类中的空参数的构造函数。

    为什么子类实例化的时候要访问父类中的构造函数呢?

    子类实例化细节
     构造器 显示初始化什么时候完成
     默认初始化 父类构造器 显示初始化
     Person p = new Person();
     1、JVM读取.class文件,并加载进内存
     2、堆内存开辟空间,
     3、对对象属性进行默认初始化
     4、调用构造函数进行初始化
     5、在构造函数中,调用父类构造函数并初始化
     6、对子类的属性进行显示初始化
     7、对子类构造函数的特定初始化
     8、初始化完毕,将值赋给引用变量
     
    final关键字
     类 方法 变量
     修饰的类   不可以被继承
     修饰的方法 不可以被覆盖
     修饰的变量 只能赋值一次 变量名全部大写

    抽象类
     abstract 方法以“;”结尾

    特点
     1、方法只有声明,没有实现,需要使用abstract修饰,同时类也要被abstract 修饰
     2、抽象类不可以被实例化。
     3、继承的子类必须覆盖所有父类的抽象方法,才能被实例化。否者

    细节
     1、抽象类有构造函数吗 有,用于给子类对象进行初始化
     2、抽象类可以不定义抽象方法吗 可以 目的是不让该类不创建对象。例:AWT的适配器对象就是这种类
     3、抽象关键字不可以和哪些关键字共存 private、static、final
     4、抽象类和一般类的异同点 都是用来描述事物;
        不同:描述事物的信息全和不全;有没有抽象方法;可不可以被实例化
     5、抽象类一定是一个父类么?
        是 需要子类覆盖其抽象方法

    接口
     它里面的方法全是抽象方法,关键是interface;
     1、常见的成员 全局常量、抽象方法,都有固定的修饰符,不写自动添加
        public static final
        public abstract
     接口的成员都是公共的权限

    实现 implements
     接口不能实例化

    多实现

    细节
     避免了单继承的局限性
     接口之间可以多继承,方法体是否重载

    特点
     多实现、降低耦合、功能扩展
     
    接口与抽象类的区别
     相同点:都是抽取的概念
     不同点:
     1、抽象是继承关系,单继承
        接口是实现关系,多实现
     2、抽象类是is a 关系
        接口是 like a 关系
     3、抽象类中可以定义非抽象方法
        接口的方法全是抽象方法,且有固定的修饰符

  • 相关阅读:
    oracle 数据库 Cause: java.sql.SQLSyntaxErrorException: ORA-00904: "BODY": 标识符无效
    windows获取所有连接过的无线网密码
    element-ui 组件 el-calendar 农历显示问题
    mysql表复制
    console 打印消息时,可以使用 %c 指定随后的文本样式; %s 可引用参数变量。
    mysql 查询出现 "this is incompatible with sql_mode=only_full_group_by"错误解决方案,以及个人rpm方式重装所遇到的问题备份
    java 关于xlsx(xls) 和 csv 文件的数据解析
    idea websorm 激活码(2020-1-6 实测可用)最新
    mysql 连接查询 转换group_concat, find_in_set
    今天带来compass的使用方式
  • 原文地址:https://www.cnblogs.com/zhuzhuqwa/p/5879879.html
Copyright © 2011-2022 走看看