【JAVA】知识点总结

1. HashMap & HashTable

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 + '}';
    }


}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值