zoukankan      html  css  js  c++  java
  • java编程思想-基础

    1. interface: 方法默认为public;成员变量默认 static and final
    2. 对象数组的定义:理解?
    3. 多接口继承:可以多个接口,但只有一个具体类,具体类在前面
    4. 自:多接口继承时,来自不同接口的同名方法怎么处理呢?
    5. java重载不能依靠返回类型加以区分(C++可以),也不能依靠checked 异常类型区分
    6. 变量定义中的系列定义(逗号隔开):变量名 = 值,其它公共
    7. 自:类中,自己引用自己的理解(如,链表节点元素)。静态看成动态,编译器的本质实现
    8. 内部类和普通类区别:内部类可private或protected;普通类只能public或friend修饰
    9. 自:匿名内部类不可拥有默认构造函数,原因?
    10. 内部类:
      - 类中定义
      - 方法内定义
      - 作用域内定义(if语句中)
      - 向上强制转型:这样完全隐藏了内部类的实现,客户端完全见不到内部类(客户端调用时用的是基类)
      - 自:内部类和不同类放到同一个文件中是不同的。一个文件多个类,只有一个类为public(类名同文件名)
      - 自:
      - 内部类默认是什么访问属性:public还是其它?
    11. 匿名内部类:
      - 其实是继承父类或接口的一个类,没有名称
      - 语法: new superClassName/Interface([parm] ) {  ... },像是实例化一个类,但是后面又跟类定义体
      - 匿名内部类不能有构造函数。但是可以通过基类的构造函数传递参数
      - 匿名内部类的初始化问题:可通过初始化块进行或定义字段时进行初始化,参数来源于外部的函数参数(匿名内部类和外部通信方式,直接引用外部类的东西,原理和可见性?常用的callback实现情形)
      - 匿名内部类如果要使用在匿名内部类外部定义的一个对象,编译器要求外部对象为final属性
      - 实例初始化模块中(代码块),可视为匿名内部类的构造函数,不过功能有限(不能重载,即只能有一个构造函数)
      - 链接到外部类:内部类可以直接访问外部类的属性
    12. 静态内部类
    13. 引用外部类对象
    14. 从多重嵌套类中访问外面:
    15. 内部类继承:只扩展内部类,不扩展其外部类。扩展时,构造函数要引用外部类(不然编译器通不过,继承关系要处理构造函数)
    16. 内部类的回调使用,《java编程思想》也没讲很容易理解。怎么理解,用途?
    17. 继承:
      - 无参数的构造函数,自动会调用(编译器加入?);有参数构造函数,需要明确指定调用父类构造函数进行初始化(自动化不了)
      - 没有指定无参数构造函数,编译器自动会合成构造函数(会自动调用父类构造函数)
      - 是否要继承:是否要向上upcasting类型脚本代码
      - 自:子类的构造函数要注意:必须正确调用父类构造函数,否则对象不能初始化;
      - 自:继承体系结构中,子类和父类对象之间的关系,构造函数调用关系?
      - 复杂类构造函数调用过程:假如一个类继承层次很深,构造函数执行时,先从最上层的root级别的构造函数执行,往外逐个执行构造函数,到本层时,按声明属性调用成员变量的初始化,最后执行当前构造函数
      - 基类构造函数中的多态方法行为:http://www.huiyi8.com/webyuanma/
    18. 多态:
      - 自:从基类公共方法,同时适用于子类型
    19. 抽象类:
      - 有抽象方法的类,就是抽象类,抽象类必须用abtract修饰(否则报错),一致性
      - 抽象类可以无抽象方法(abstract修饰),可防止实例化
    20. RTTI:
      - 向下类型转换需要用到该功能
      - class 类方法的属性,便于判断
      - instanceof 操作符
      - class.isintance(object)判断函数
      - 方法:instanceof;直接类型转换;反射机制;
    21. 多线程:
      - 自我理解:
       -- 程序代码一份,运行时,多个流程执行
       -- 公共资源:内存,静态资源
       -- 线程类中的成员变量,不是公共资源,各个线程对象各值有一份
       -- synchronized关键字:是对公共资源的访问控制?

      - 一个对象的所有synchronized方法共享一把锁
      - 对于要访问某关键资源的所有方法,都必须把他们设置为synchronized,否则容易出问题
      - 同一个线程,多次start,会产生异常
      - daemon线程的特点:
      - 自:主线程执行完了,但是后台线程仍然在执行,不会随主线程结束,没办法中止进程?
      - 例子程序:生产者、消费者,取生产的随机数:思想,过程
      - 进度监控:模拟多线程工作(不同max值得count down,然后另外线程显示进度)
      - 同步块:
      - 状态:wait()和notify()是Object对象的一部分;sleep(),resume(),suspend()是Thread的一部分
  • 相关阅读:
    查找算法:二分查找法(折半查找)
    钞票找零-贪心,动态规划算法
    PHP7与php5
    网站高并发解决方案(理论知识) 二
    loj#6566. 月之都的密码
    我的 Linux 配置
    CTSC2011 幸福路径
    WC2018 即时战略
    uoj#460 新年的拯救计划
    bzoj 5016 一个简单的询问
  • 原文地址:https://www.cnblogs.com/xkzy/p/3816631.html
Copyright © 2011-2022 走看看