Java学习笔记-基础

本文深入讲解了Java中的关键概念,包括面向对象的特征、int与Integer的区别、equals()与==的使用、抽象类与接口的区别、反射机制的应用、自定义注解的场景与实现、以及HTTP的GET与POST方式的区别。

一、 面向对象的特征

抽象,封装,继承(允许多层继承,存在单继承局限),多态。

二、 int 与 Integer 的区别

  1. Integer是int的包装类,int则是java的一种基本数据类型
  2. Integer变量必须实例化后才能使用,而int变量不需要
  3. Integer实际是对象的引用,当new一个Integer时,实际上是生成一个指针指向此对象;而int则是直接存储数据值
  4. Integer的默认值是null,int的默认值是0
Integer i = new Integer(127);
Integer j = new Integer(127);
Integer k = 127;
Integer l = 127;
Integer m = new Integer(128);
Integer n = new Integer(128);
Integer o = 128;
Integer p = 128;
System.out.printf("i == j is %b\n", i == j);
System.out.printf("i == k is %b\n", i == k);
System.out.printf("k == l is %b\n", k == l);
System.out.printf("m == n is %b\n", m == n);
System.out.printf("m == o is %b\n", m == o);
System.out.printf("o == p is %b\n", o == p);

输出结果
i == j is false
i == k is false
k == l is true
m == n is false
m == o is false
o == p is false

三、 equals() 与 == 的比较

==比较地址,equals可以通过重写自定义比较的内容。

四、 抽象类与接口

抽象类:最本质上的“是什么”
接口:都能“做什么”

五、 反射机制

Java反射机制主要用于实现以下功能。

(1)在运行时判断任意一个对象所属的类型。
(2)在运行时构造任意一个类的对象。
(3)在运行时判断任意一个类所具有的成员变量和方法。
(4)在运行时调用任意一个对象的方法,甚至可以调用private方法。

注意:上述功能都是在运行时环境中,而不是在编译时环境中。

Java中反射的实现方式:
  1. 通过Class.forName()方法加载字符串,就可以得到该字符串做代表的Class对象。

    Class<?> clazz = Class.forName(“java.lang.String”)

  2. 通过类名调用class属性得到该类的Class对象。

    例如:Class<?> clazz = String.class也可以得到String类的Class对象。

  3. 调用实例的getClass()方法。

    例如:Date date = new Date();
    Class<?> clazz = date.getClass();

  4. 如果是基本类型的包装类,则可以通过调用包装类的Type属性来获得该包装类的Class对象。

    例如:Class<?> clazz = Integer.TYPE;

六、 自定义注解的场景与实现

注解(annotation)分为内建注解、自定义注解、元注解。(待续)

七、 HTTP的GET与POST方式的区别

  1. GET与POST的底层是TCP/IP,都基于TCP链接。
  2. 在数据传输过程中,GET将数据附加在url之后,POST将数据放在请求包的包体内。
  3. 传输数据大小:一些浏览器和服务器会限制url长以减轻负担,有的会限制POST提交的数据大小。
  4. POST可以修改服务器数据。GET不会修改服务器数据。
  5. GET产生一个TCP数据包,POST产生两个TCP数据包,一个HEADER,一个DATA。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值