zoukankan      html  css  js  c++  java
  • Java基础加强

    Java 世界排名第一 高级应用软件开发语言
    为什么排名第一?
    优势
    Javaweb 开发网站?? PHP/.net
    Java 语言优势
    1、Java Internet
    2、Server端开发
    3、分布式
    4、多线程
    ERP

    Android 技术
    Java 语言
    c++嵌入式


    C语言 硬件编程 嵌入式



    1、Java5.0 高级特性
    2、反射
    3、BeanUtils

    Java 开发工具
    文本编辑工具
    IDE(eclipse IBM,Netbeans Sun(Oracle))
    MyEclipse是Eclipse的插件(收费)

    假如你要使用英文软件,最好不要使用中文路径或者一些特殊字符( ,&)
    MyElipse
    透视图
    web project(默认)
    java project

    package命名规范: 域名倒写 cn.it 部门/项目组名称moon 系统名blog 分层
    cn.it.moon.blog.test

    www.it.cn
    域名 it.cn

    Content Assist : alt+/
    1、调用模板代码块
    main
    sysout
    2、自动补全
    Quick Fix : ctrl +1
    不能解决所有问题。只能解决方块X

    导包:ctrl + shift + O
    当发现存在不同包里相同类,自己指定,

    格式化代码块:ctrl + shift + F  ---> 配置代码自动格式化
    必须无错才能格式化

    添加(除去)块注释 Ctrl+Shift+/ (Ctrl+Shift+)
    添加(除去)单行注释 Ctrl+/

    /** */ 文档注释
    /* */ 多行注释、块注释
    //  单行注释

    eclipse配置自动格式化
    ctrl+shift+l 查看所有快捷键

    ctrl+鼠标左键 查看源代码(F3)

    F5(跳入)  F6(跳过)   F7(跳出)
    F5进入该行代码执行的方法 ---> F7 结束当前方法返回 继续运行程序至下个断点
    F6跳到当前方法的下一行

    断点调试作用:
    运行到某一位置查看变量的值,System.out.printlb();

    java 1.0 -- 1.1 --- 1.2(Java2) --- 1.3 --- 1.4 --- 1.5(更名5.0) --- 6.0 --- 7.0

    集合对象规范里面可以存取的类型 ---- 泛型
    泛型是在java程序编译时的限制!!!!!!!!
    1、不是所有类都能使用泛型,使用泛型的类需要定义时声明 List<E>
    2、为什么List<E> 叫E Element Map<K,V> K key V value
    3、类型转换,只能是声明的类型,泛型如果父子关系不可以转换!
    父类 对象 = new 子类();
    List<String> list = new ArrayList<String>();
    Integer 是Number 子类
    Number n = 10;
    ArrayList<Number> list2 = new ArrayList<Integer>(); // 不可以

    自定义泛型 c++模板
    定义泛型时,不能使用原始数据类型
    List<int> list = new ArrayList<int>();// 不行
    List<Integer> list = new ArrayList<Integer>();

    如果没有为类指明泛型,那么使用泛型的方法返回值前<T>
    如果为类指明泛型,那么不需要在使用泛型的方法返回值前加<T>

    问题:根据role不同计算不同的工资
    switch(data){ // byte short int char enum
       case:

       default:
    }

    public void doSomething(double d){ }
    public void doSomething(Integer i) { }

    下面的代码会执行上面哪个方法?
    int foo = 1;
    doSomething(foo);

    原则JDK5.0 升级特性 要和JDK1.4 一致


    for/in 只能用来取值,不能改变原来的数组和集合对象!!!!
    什么类可以用于for/in ----> 数组 集合类对象

    class Person {
      // 成员变量(静态成员变量,实例成员变量)
      // 成员方法(静态方法,实例方法)
      // 构造方法
    }


    1、Eclipse Junit
    2、JDK5.0特性
    泛型、枚举、for/in
    泛型:
    1) List Map中使用泛型
    2) 泛型可以用在方法参数 返回值 类型参数
    3) 类型转换注意事项
    4) 泛型通配符 泛型的上下边界
    枚举:
    1)枚举的由来 4个阶段
    2)枚举定义细节 定义抽象方法 定义带参数的构造方法
    3)枚举 API
    for/in
    1)使用for/in迭代 数组或者使用迭代器的集合对象
    2)for/in只能用于取值,不能修改
    3)让你的class能用用于for/in
    4)移除练习

    3、反射
    反射在框架中应用
    Class Constructor Field Method
    编程反射
    1)一定得到.class对应Class对象
    2)Class对象 --- Constructor Field Method
    属性操作
    a. 得到所有属性 getFields [public] getDeclaredFields [所有]
    b. 得到指定属性 getFiled(属性名字) getDeclaredField(属性名字)
    c. 操作属性 破坏封装性
    属性.setAccessible 修改属性访问权限
    方法操作
    a. 得到所有方法 getConstructors getMethods
    b. 得到指定方法 getConstructor(参数类型列表 Class...)  getMethod(方法名,参数类型列表Class...)
    c. 执行方法
    执行构造方法
    constructor.newInstance(参数 Object...)
    执行普通方法
    method.invoke(执行方法的对象,参数 Object...)
    执行方法的对象 null 表示 static方法

  • 相关阅读:
    POJ
    UPC-5843: 摘樱桃(最优状态递推)
    BZOJ-1088 [SCOI2005]扫雷Mine(递推+思维)
    HDU-3065 病毒侵袭持续中(AC自动机)
    BZOJ-4236 JOIOJI (map查找+思维)
    HDU-2896 病毒侵袭(AC自动机)
    Hrbust-2060 截取方案数(KMP)
    UVALive 4490 压缩DP
    UVALive 5881
    UVALive 4168
  • 原文地址:https://www.cnblogs.com/qq809306794/p/Java.html
Copyright © 2011-2022 走看看