zoukankan      html  css  js  c++  java
  • 抽象类&接口&内部类

    抽象类

    类和接口的中庸之道

    包含一个或多个抽象方法的类为抽象类

    • 继承抽象类
    1. 子类实现抽象方法
    2. 子类没实现抽象方法就必须限定子类为抽象类

    注:

    1. 抽象类不可用private修饰,因为这样就不可以实现抽象方法
    2. 不能创建对象??

    接口

    1. 方法确定方法名、参数列表、返回类型,默认为public
    2. 字段隐含定义为public static final,必须被初始化
    3. 实现类的方法和字段必须为public,不可降低可见性

    内部类

    • 内部类作用

      实现多重继承:外部类只能继承一个类,而内部类可以继承其他的类,这样解决了单继承的问题

    • 实例内部类

    1. 引用类型:OuterClassName.InnerClassName
    2. 可以访问任何外部类成员(即使是private)
    3. 不能拥有静态成员(静态成员只能在顶级类或者静态内部类中声明)
    4. 内部类生成对外部类的引用: OuterClassName.this,静态内部类不可以这样,因为访问实例内部类必须先有外部类的实例,而.this就是外部类的实例,当访问静态内部类时直接使用类名调用没有外部类实例,所以不能用.this
    5. 创建内部类实例:外部类对象.new 内部类名();
    • 静态内部类
    1. 内部类实例不与外部类实例有任何关联
    2. 可以访问外部类静态成员
    3. 拥有静态和实例成员
    • 局部内部类

      方法内部的类,不希望此类是公共可用的

    • 匿名内部类

        接口 a() {
        	return 接口() {
        		//具体实现
        	};
        }
      

      return返回的是接口的实现类的对象,但是没有具体的名字,其引用通过向上转型为接口的引用

  • 相关阅读:
    Python—函数基础篇
    C语言 文件操作(四)
    C语言 文件操作(三)
    C语言 文件操作(二)
    C语言 文件操作(一)
    C语言 生日快乐
    Matlab入门(二)
    Matlab入门(一)
    精华篇:数组指针
    汇编刷题:求一到100内的偶数之和(本程序将和按十六进制输出)
  • 原文地址:https://www.cnblogs.com/mdc1771344/p/9910871.html
Copyright © 2011-2022 走看看