CGBTN2111-DAY10总结复习

DAY10 复习

1.接口的特点:

  1. 我们使用interface关键字定义接口
  2. 我们使用implements关键字建立接口实现类与接口的实现关系
    接口是父级,接口实现类是子级
  3. 接口实现类如果实现部分/不实现接口中的抽象方法,那么实现类是一个抽象类
    接口实现类如果实现了接口所有的抽象方法,那么这个实现类是一个普通类
  4. 抽象类与接口都不可以实例化/创建对象
  5. 接口没有构造函数,实现类使用的super()是父类的无参构造
    如果没有明确指定父类,super()代表的才是Object的无参构造
  6. 接口中都是静态常量,没有成员变量,因为会默认拼接public static final
  7. 接口中都是抽象方法,默认会拼接public abstract
    故此:静态常量与抽象方法默认拼接的部分,可以省略不写
  8. 接口不是类!!!
  9. 接口是用来制定规则的【有哪些功能?方法有参数吗?有返回值吗?】
    方法具体的实现交给接口的实现类去完成

2.接口与类的复杂关系

1. 类与类的关系

继承关系,只支持单继承
比如A是父类,B是子类,B具备A的所有功能
如果B对A的功能不满意,可以重写(两同 两小 一大)

2. 类和接口的关系

实现关系,可以单实现,也可以多实现
比如:多实现:class A implements B,C{}
A是实现类,B和C是接口,A需要实现BC接口的所有抽象方法,否则A就是一个抽象类

3. 接口与接口的关系

继承关系,可以单继承,也可以多继承
interface A extends B,C{}
A B C 都是接口,A是子接口,具有B C父接口的所有功能(抽象方法)
class X implements A{}
X实现类需要实现A接口,以及A接口继承自B C接口的所有抽象方法,否则就是抽象类

class O extends A implements B,C{}
其中O是实现类,也是A的子类,同时拥有A的所有功能,并且需要实现BC的所有功能

4.接口与抽象类的区别

1.接口是一种用interface定义的类型
抽象类是一种用class定义的类型
2.接口中的方法都是抽象方法
抽象类中的方法不做限制
3.接口中的都是静态常量
抽象类中可以写普通的成员变量
4.接口中没有构造方法,不可以实例化
抽象类中有构造方法,但是也不可以实例化
5.接口是先天设计的结果,抽象是后天重构的结果
6.接口可以多继承,抽象类只能单继承

3.内部类总结

1.内部类创建对象的格式:
外部类名.内部类名 对象名 = 外部类对象.内部类对象
2.根据内部类的位置不同,分为:
成员内部类(类里方法外)
局部内部类(方法里)
3.内部类可以直接使用外部类的资源,但是外部类使用内部类资源时
需要先创建内部类的对象,通过内部类的对象来调用
4.如果内部类被private修饰,无法直接在外界创建内部类对象
我们可以创建外部类的对象,间接访问内部类的资源
5.如果内部类被static修饰,可以把这个类称为静态内部类
静态内部类不需要先创建外部类对象,而是先通过外部类的类名找到内部类,再创建内部类对象
6.如果静态内部类中有静态资源,可以不创建一个对象,就通过
外部类名.内部类名.静态资源名的链式加载的方式,使用这个资源
7.直接创建外部类对象,调用局部内部类所处的方法时,并不会触发局部内部类的功能
需要在局部内部类所处的方法中,先创建局部内部类对象,并调用其功能,功能才会被触发
8.匿名内部类没有名字,通常与匿名对象结合在一起使用
9.匿名对象只能使用一次,一次只能调用一个功能
匿名内部类其实就是充当了实现类的角色,去实现未实现的方法,只是没有名字而已
如果想要多次使用实现后的功能,还要创建之前的普通对象

内部类详细笔记

猜你喜欢

转载自blog.csdn.net/weixin_43884234/article/details/121902378
今日推荐