Java背诵知识点总结(2)

1、接口与抽象类区别

  1.接口的方法默认是public,所有方法在接口中不能有实现,抽象类可以有非抽象的方法
  2.接口中的实例变量默认是final类型的,而抽象类中则不一定
  3.一个类可以实现多个接口,但最多只能实现一个抽象类
  4.一个类实现接口的话要实现接口的所有方法,而抽象类不一定
  5.接口不能用new实例化,但可以声明,但是必须引用一个实现该接口的对象
    从设计层面来说,抽象是对类的抽象,是一种模板设计,接口是行为的抽象,是一种行为的规范

2、静态方法中调用非静态方法为什么非法?

    由于静态方法可以不通过对象进行调用,因此在静态方法里,不能调用其他非静态变量,也不可以访问非静态变量成员。

在Java中定义一个不做事且没有参数的构造方法的作用:
    Java程序在执行子类的构造方法之前,如果没有用super()来调用父类特定的构造方法,则会调用父类中“没有参数的构造方法”。
    因此,如果父类中只定义了有参数的构造方法,而在子类的构造方法中又没有用super()来调用父类中特定的构造方法,
  则编译时将发生错误,因为Java程序在父类中找不到没有参数的构造方法可供执行。
    解决办法是在父类里加上一个不做事且没有参数的构造方法。
posted @ 2021-04-19 18:22  泰初  阅读(78)  评论(0编辑  收藏  举报