(3)Java基础

1.反射机制

JAVA反射机制是在运行状态中, 对于任意一个类, 都能够知道这个类的所有属性和方法; 对于任意一个对象, 都能够调用它的任意一个方法和属性; 这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。
主要作用有三:

  1. 运行时取得类的方法和字段的相关信息。
  2. 创建某个类的新实例(.newInstance())
  3. 取得字段引用直接获取和设置对象字段,无论访问修饰符是什么。

用处如下:

  1. 观察或操作应用程序的运行时行为。
  2. 调试或测试程序,因为可以直接访问方法、构造函数和成员字段。
  3. 通过名字调用不知道的方法并使用该信息来创建对象和调用方法。

2.final 关键字

final 类是不能被继承的 这个类就是最终的了 不需要再继承修改 比如很多 java 标准库就是 final 类。

final 方法不能被子方法重写。

final + static 变量表示常量。

3.一个 .java 源文件是否可以包含多个类

可以,但只能有一个是 public 的类 而且这个 public 类必须与文件名一样。

4.& 与 &&

都可以表示逻辑与 and, 但是 && 具有短路功能,第一个表达式错了,第二个就被忽略了。& 的表达式是先计算后求与。除此外 & 可以用作位运算符。
| 也有类似差异。

5.integer 通过 == 比较

Integer a=10;
Integer b=10;
Integer c=new Integer(10);
Integer d=new Integer(10);

System.out.println(a==b);
System.out.println(c==d);

System.out.println(a.equals(b));
System.out.println(c.equals(d));

System.out.println(a.equals(c));

结果为

true
false
true
true
true
Integer a = 127;
Integer b = 127;
Integer c = 128;
Integer d = 128;
System.out.println(a == b);
System.out.println(c == d);

结果为

true
false

Integer i = XXX 看看Integer 的源代码就知道了, 其实就是Integer 把-128-127(一个字节的二进制补码) 之间的每个值都建立了一个对应的Integer 对象, 类似一个缓存. 由于Integer 是不可变类, 因此这些缓存的Integer 对象可以安全的重复使用. Integer i = XXX, 就是Integer i = Interger.valueOf(XXX), 首先判断XXX 是否在-128-127 之间, 如果是直接return 已经存在的对象, 所以是同一个引用. 否则就只能 new 一个了, 那就是不同的引用了.

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值