一、 面向对象的特征
抽象,封装,继承(允许多层继承,存在单继承局限),多态。
二、 int 与 Integer 的区别
- Integer是int的包装类,int则是java的一种基本数据类型
- Integer变量必须实例化后才能使用,而int变量不需要
- Integer实际是对象的引用,当new一个Integer时,实际上是生成一个指针指向此对象;而int则是直接存储数据值
- 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中反射的实现方式:
通过Class.forName()方法加载字符串,就可以得到该字符串做代表的Class对象。
Class<?> clazz = Class.forName(“java.lang.String”)
通过类名调用class属性得到该类的Class对象。
例如:Class<?> clazz = String.class也可以得到String类的Class对象。
调用实例的getClass()方法。
例如:Date date = new Date();
Class<?> clazz = date.getClass();如果是基本类型的包装类,则可以通过调用包装类的Type属性来获得该包装类的Class对象。
例如:Class<?> clazz = Integer.TYPE;
六、 自定义注解的场景与实现
注解(annotation)分为内建注解、自定义注解、元注解。(待续)
七、 HTTP的GET与POST方式的区别
- GET与POST的底层是TCP/IP,都基于TCP链接。
- 在数据传输过程中,GET将数据附加在url之后,POST将数据放在请求包的包体内。
- 传输数据大小:一些浏览器和服务器会限制url长以减轻负担,有的会限制POST提交的数据大小。
- POST可以修改服务器数据。GET不会修改服务器数据。
- GET产生一个TCP数据包,POST产生两个TCP数据包,一个HEADER,一个DATA。
本文深入讲解了Java中的关键概念,包括面向对象的特征、int与Integer的区别、equals()与==的使用、抽象类与接口的区别、反射机制的应用、自定义注解的场景与实现、以及HTTP的GET与POST方式的区别。
1万+

被折叠的 条评论
为什么被折叠?



