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的一部分
  • 相关阅读:
    @RequestParam注解使用:Name for argument type [java.lang.String] not available, and parameter name information not found in class file either.
    cglib动态代理导致注解丢失问题及如何修改注解允许被继承
    springboot Autowired BeanNotOfRequiredTypeException
    git根据用户过滤提交记录
    不同包下,相同数据结构的两个类进行转换
    How to use Jackson to deserialise an array of objects
    jooq实践
    java如何寻找main函数对应的类
    Python--matplotlib
    Python 和 Scikit-Learn
  • 原文地址:https://www.cnblogs.com/xkzy/p/3816631.html
Copyright © 2011-2022 走看看