zoukankan      html  css  js  c++  java
  • [JAVA]《Java 核心技术》(二)接口与内部类

    33
    C6
    接口与内部类
     
    接口主要用来描述类具有什么功能,而并不给出每个功能的具体实现
     
    一个类可以实现一个或多个接口,但只能继承一个父类。
     
    33接口
    接口是对垒的需求描述。
     
    接口可以包含一个或多个方法
    接口中还可以定义常量
     
    接口可以看成没有实例域的抽象类
     
    接口中所有方法都自动为public,但建议还是显示声明
     
    34
     
    数组的排序调用
    Arrays.sort(arr)
     
    35
    Comparable接口
     
    36
    接口不是类,不能new实例化,但可以定义接口的类对象
     
    接口可以继承接口
     
     
    37.
    接口与抽象类
    (1)多继承概念
     
    38 对象克隆
    浅拷贝:默认的克隆,是浅拷贝
    深拷贝:实现Cloneable接口,重新定义clone()方法
    Cloneable:标记接口
     
    39接口与回调。。
    Timer定时器 原理
    监听?
     
    40 内部类
    原因:
    (1)内部类方法可以访问该类定义所在的作用于中的数据,包括私有数据
    (2)内部类可以对同一个包中的其他类隐藏起来。
    (3)当想要定义一个回调函数且不想编写大量代码时,使用匿名内部类 比较便捷。
     
     
    常规内部类
    class A{
         private boolean field
         class AIn{
              public void fun(){
              //visitField(field)
              }
         }
    }
     
    只有内部类才能是私有类,否则其他的定义一个私有类没意义
     
    内部类访问外部的域可以用outClass.this.field
    外部类构造内部类对象: outClass.new InnerClass(xx)
     
    局部内部类
    写在方法里面
    注意方法的参数 如果局部内部类要用到,则要用final修饰。
     
    局部内部类不能用public or private访问说明符进行声明。
     
    技巧
     
    fun(final Integer a[])
     
    变量要更新,不能声明为final,但是要能访问。用长度为1的数组。
     
    匿名内部类:
    只创建这个类的一个对象,不比命名了。
    new Interface(){
         method();
    }
     
    静态内部类
     
    将内部类声明为static,取消产生的引用。
    静态内部类的对象除了没有对生成它的外围类对象的引用特权,
     
     
    41. 代理类
     
    Proxy
    invoke
     
    InvocationHandler
     
     
     
     
     
     
     
     
     
  • 相关阅读:
    LeetCode 121. Best Time to Buy and Sell Stock
    LeetCode 221. Maximal Square
    LeetCode 152. Maximum Product Subarray
    LeetCode 53. Maximum Subarray
    LeetCode 91. Decode Ways
    LeetCode 64. Minimum Path Sum
    LeetCode 264. Ugly Number II
    LeetCode 263. Ugly Number
    LeetCode 50. Pow(x, n)
    LeetCode 279. Perfect Squares
  • 原文地址:https://www.cnblogs.com/akingseu/p/3451950.html
Copyright © 2011-2022 走看看