• 第二周疑问点


    • 实现类应该重写接口的所有方法嘛?

      一般来说是的。jdk8以前都是默认抽象方法,必须全部重写。

      jdk8后接口中的方法,可以有默认方法和静态方法,

      默认方法和抽象类的具体方法一样,是为了给子类一个默认初始化。可以继承和根据需求重写。

      静态方法

      不能被继承,只能被接口名调用。

      但是,在当前实际开发中,接口一般作为一种规范去交给子类实现。尽量不要写其他方法。

    • 为啥抽象类的子类在某个方法返回,要用抽象类的引用来接收?有啥好处?

      为了多态

    • 抽象类的设计作用,抽象方法,是否有引导子类,必须重写一些特定方法的作用,特别是具体子类?,具体方法给子类提供一个默认实现

      是的

    • 局部内部类为啥不可以有权限修饰符?

      看作一个局部变量,随着方法起始。不需要修饰符

    • 局部内部类怎么访问外围类中的局部变量?在jvm中如何访问?

      访问不受限制,但是访问的值默认加了final,因为局部内部类实例化的对象,可能比局部变量的生命周期长,且jvm在实例化局部内部类的时候,拷贝了所在方法体内的局部变量,但是为了避免,访问内部类对象修改拷贝的值后,局部变量没改变。所以直接final了。

    • 内部类具体分类,异同之处。

      笔记中有具体分析

    • 匿名内部类有啥用?

      便利了实现类调用接口的方法。表面上看,接口好像可以实例化了。 抽象类表面上好像也可以实例化了。

      不用创建新的类,甚至连对象都一步创建了。

      实现的接口,类,抽象类的子类。

    • 父类的父类可以接受子类的对象那,Person 可以接受 new Son() 嘛 (Son extend Father)?

      可以,Person相当于指向的是Son对象里面父类的父类的成员信息区。不能调用Father的成员变量,除非向下转型。

      还是那句话,对于访问成员变量:编译时看左边,运行时看左边。

      ​ 编译时看左边,运行时看右边。

    • 显式调用 是从方法区中的父类类加载中调用的???

      疑问来源:为什么父类引用子类对象,父类引用调用子类重写的方法,执行的确实是子类重写后的方法,但super调用父类被重写的方法,仍然调用的是父类的方法。疑问:重写不是覆盖了对象中的父类成员信息区嘛?

    • 实现类多继承接口,多个接口中有重复的方法会怎样?

      报错

    • 为什么成员位置创建的对象掉用不了方法,和成员变量。

      首先!不要在成员位置创建自己的对象。否则在别的地方再用这个类创建对象时,就会循环创建这个成员对象

      其次:创建其他类的对象,后调用该对象的成员变量也会报错,再就是这种实例化方法太单一。不建议

    talk is cheap,write and optimize my code。
  • 相关阅读:
    Stm32ADC-内部温度传感器的使用
    Stm32 ADC学习
    wpf数据绑定
    06 MyBatis——实体类注意事项
    05 MyBatis——环境搭建及demo
    96 项目导jar包
    04 SSM框架概述
    03 MVC开发模式
    02 Mybaits——包名的命名规范
    26 监听器实现网站在线人数统计
  • 原文地址:https://www.cnblogs.com/xiongzk/p/14289666.html
Copyright © 2020-2023  润新知