【JAVA】知识点总结

1. HashMap & HashTable

  • HashMap实现原理
  • HashTable实现原理
  • Map总结
    【JAVA】知识点总结_第1张图片
    【JAVA】知识点总结_第2张图片
    【JAVA】知识点总结_第3张图片

2. JAVA 反射

JAVA 反射的最重要的意义就是在你不知道一个 Class 的结构的时候,可以通过 JAVA 提供的 java.lang.Class 和 java.lang.reflect 包获得 Class 的你想要的各种信息,从而在编程的时候实现一些动态的功能,常用的方法:

  • forName(String Classname) : 返回 Classname 对应的 Class 对象
  • getConstructors() : 返回类所有的构造器,注意不一定是按着类中的构造器声明顺序返回
  • newInstance() : 返回一个类的实例

Examples :

public class Reflect {

    Class demo1 = null;
    Class demo2 = null;
    Class demo3 = null;


    // 3种方式获取一个 Class 对象
    demo1 =  Class.forName("test.Reflect");
    demo2 = new Reflect().getClass();
    demo3 = Reflect.class;

    //得到一个 Reflect 实例
    Reflect re = (Reflect)demo.newInstance();

}

至于获取其他信息,建议直接参考 Class 和 Reflect 的 API 。
示例参考:JAVA反射详解(不过注意文章这里面有个返回constructors的示例,博主指定了构造器的顺序,但是返回的顺序不是按照类定义的顺序,所以一般会出错)

3. JAVA 注解

JDK 5中引入了源代码中的注解(annotation)这一机制。注解使得Java源代码中不但可以包含功能性的实现代码,还可以添加元数据。注解的功能类似于代码中的注释,所不同的是注解不是提供代码功能的说明,而是实现程序功能的重要组成部分。Java注解已经在很多框架中得到了广泛的使用,用来简化程序中的配置。

JAVA注解
JAVA注解(Annotation)

4. JAVA 对象的序列化和反序列化

Java基础学习总结——Java对象的序列化和反序列化

5. JAVA 方法链

作用:模仿 jQuery 中的方法链形式,增加代码的可读性。
示例:

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package javaexercise;

/**
 *
 * @author 310241647
 */
public class Test {

    private String name;
    private int age;
    private String id;

    public String getName() {
        return name;
    }

    public Test setName(String name) {
        this.name = name;
        return this;//返回对象本身,供其他set方法调用
    }

    public int getAge() {
        return age;
    }

    public Test setAge(int age) {
        this.age = age;
        return this;//返回对象本身,供其他set方法调用
    }

    public String getId() {
        return id;
    }

    public Test setId(String id) {
        this.id = id;
        return this;//返回对象本身,供其他set方法调用
    }

    public static void main(String[] args) {
        Test test = new Test();
        test.setAge(10).setId("1234").setName("Kevin");
        System.out.println(test.toString());
    }

    @Override
    public String toString() {
        return "Test{" + "name=" + name + ", age=" + age + ", id=" + id + '}';
    }


}

你可能感兴趣的:(java,hashmap,技术文档,Java)