• 抽象类&接口&内部类


    抽象类

    类和接口的中庸之道

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

    • 继承抽象类
    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返回的是接口的实现类的对象,但是没有具体的名字,其引用通过向上转型为接口的引用

  • 相关阅读:
    MapiRule例子
    P/invoke in .NET Compact Framework
    MFC C++类型学习
    Windows Mobile上实现可拖动的窗口
    在Wince下使用钩子函数
    VC++动态链接库编程之MFC规则DLL
    VC++动态链接库编程之DLL典型实例
    Using keyboard hooks in WinCE
    Override VK_TTALK & VK_TEND
    Getphonenumber获得电话号码的例子
  • 原文地址:https://www.cnblogs.com/mdc1771344/p/9910871.html
Copyright © 2020-2023  润新知