黑马程序员_12月18日

----------------------android培训java培训、期待与您交流! ----------------------

(1)用枚举定义交通灯:

public enum TrafficLamp{
  RED(30){
    public TrafficLamp nextLamp(){
      return GREEN;
    }
  },
  GREEN(30){
    public TrafficLamp nextLamp(){
      return YELLOW;
    }
  },
  YELLOW(5){
    public TrafficLamp nextLamp(){
      return RED;
    }
  },
  public abstract TrafficLamp nextLamp();
  private int time;  //亮的时间。
  private TrafficLamp(int time){this.time = time;}
}
如果枚举只有一个成员,可作为单例方式


(2)得到字节码的方式:
类名.class
对象.getClass()
Class.forName(类名)


(3)int.class与Integer.class不等
int.class与Integer.TYPE相等


(4)使用Constractor类的newInstance方法创建对象,返回值为object,
使用时需要强行转化。


(5)Field类代表某类的一个域名,而不是具体对象的成员的值。
私有成员不能用getField访问,但是可以用getDeclaredField获得,
但是依然无法访问。需要用setAccessible方法设置为可以访问。(暴力反射)


(6)字节码最好使用“==”比较


(7)使用Method调用静态方法:.invoke(null,......)


(8)invoke调用main方法时传递参数,不能直接传递String[],它会被拆开,造成参数个数的异常。
解决方法:
new Object[]{new String[]{.......}}
(Object)new String[]{......}


(9)注意:如果hashCode的计算涉及到成员的值,当加入集合(set)再后修改成员值,
可能导致删除等操作结果错误。


(10)使用类加载器加载文件:.class.getClassLoader().getResourceAsStream(Path)  //path从根目录开始

或:.class.getResourceAsStream(Path)  //path可以为相对路径

---------------------- android培训java培训、期待与您交流! ----------------------

详细请查看:http://edu.csdn.net/heima

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值