• java有关构造器的面试题详解


    1,编译器只会提供自动提供一个默认的无参数的构造函数

    2,如果程序员没有给类A没有提供构造函数,则编译器会自动提供一个默认的无参数的构造函数,如果用户提供了自己的构造函数,则编译器就不在提供默认的无参数构造函数。

    3.子类有多个构造方法时,父类要么没有构造方法,让系统自动提供默认构造方法,那么在执行子类构造方法之前先执行父类的默认构造方法;要么就提供一个显式的构造方法供子类的构造方法调用。


    4,只发生在子类构造方法中出现super(,,)显性调用时,否则不报错,子类B实例化时会自动调用父类A的默认构造函数(调用对应参数的构造方法),所以如果A的默认的无参数的构造函数为private,则编译器会报错,而如果A没有提供默认的无参数的构造函数,而提供了其他类型的构造函数,编译器同样会报错,因为B找不到A的默认无参数构造函数。所以,我们最好给父类A提供一个无参数的构造函数。或者在B的构造函数中显示的调用父类A的有参构造函数。super(paramete

    5,当类中只是显性写出来带参数的构造函数,但new对象时不带参数,就会报错,此时编译器不会java提供一个默认的无参数的构造函数

    1.this()和super()必须放在第一行,且不能同时出现在一个函数中

    2.this(),super都指的是对象,所以不能出现在static中

    3,构造方法不能被继承

    4,构造方法不是类的成员方法

  • 相关阅读:
    读取手机联络人实例
    MotionEvent中getX()和getRawX()的区别
    Android开源项目发现--- 效率开发工具篇(持续更新)
    开发资源收藏
    ViewHolder VS HolderView ?
    如何测试 Android 中的定时事件
    性能优化实例
    lamba
    并行操作多个序列map
    连续处理函数reduce
  • 原文地址:https://www.cnblogs.com/Pjson/p/8625665.html
Copyright © 2020-2023  润新知