博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java核心技术 卷I 基础知识 学习笔记(5)
阅读量:4169 次
发布时间:2019-05-26

本文共 591 字,大约阅读时间需要 1 分钟。

参考:Java核心技术 卷I 基础知识

反射库提供了一个非常丰富且精心设计的工具集,以便编写能够动态操纵Java代码的程序。这项功能被大量地应用与JavaBeans中,它是Java组件的体系结构。

能够分析类能力的程序成为反射。反射机制的功能极其强大,在下面可以看到,反射机制可以用来:

  • 在运行时分析类的能力
  • 在运行时查看对象
  • 实现通用的数组操作代码
  • 利用Method对象,这个对象很像C++中的函数指针。

反射是一种功能强大且复杂的机制。

在程序运行期间,Java运行时系统始终为所有的对象维护一个被称为运行时的类型标识。这个信息跟踪着每个对象所属的类。虚拟机利用运行时类型信息选择相应的方法执行。

异常有两种类型:未检查异常和已检查异常。对于已检查异常,编译器将会检查是否提供了处理器。然后有很多常见的一场,例如,访问null引用,都属于未检查异常。编译器不会查看是否为这些错误提供了处理器。毕竟,应该精心地编写代码来避免这些错误的发生,而不要将经历花在编写异常处理上。

并不是所有的错误都是可以避免的。如果竭尽全力了还是发生了异常,编译器就要求提供一个处理器。

继承的设计技巧:

  • 将公共操作和域放在超类
  • 不要使用受保护的域
  • 使用继承实现"is-a"关系
  • 除非所有继承的方法都有意义,否则不要使用继承
  • 在覆盖方法时,不要改变语气的行为
  • 使用多态,而非类型信息
  • 不要过多地使用反射

 

转载地址:http://lryai.baihongyu.com/

你可能感兴趣的文章
Linux下简单samba共享配置
查看>>
rh333 - 搭建简易CA中心
查看>>
rh333 - 利用apache搭建简易https服务器
查看>>
adpatch OPTIONS
查看>>
How to get details about patch applied in Oracle Applications by OAM & SQL?
查看>>
配置作为客户机的iptables规则 - ArchLinux
查看>>
Oracle EBS R12 - ad_bugs.BUG_NUMBER和ad_applied_patches.PATCH_NAME的关系
查看>>
rh436 - ssh验证/连接很慢
查看>>
rh436 - Linux下如何根据fdisk/tune2fs -l/dumpe2fs来计算分区的大小
查看>>
高cpu占用sql的诊断流程
查看>>
Archlinux上fcitx怎麼才能輸入正體中文
查看>>
AUTOTRACE与EXPLAIN PLAN,ANALYZE与DBMS_STATS
查看>>
rh442 - Linux下性能监控命令vmstat的简单理解
查看>>
RMAN备份时报“ORA-19504: failed to create file”和“ORA-27038: created file already exists”的一种情况和解决办法
查看>>
rman之resetlogs及恢复备份控制文件的一点理解
查看>>
100 bugs in Open Source C/C++ projects
查看>>
rh436 - 错把“Netmask Bits”当“Netmask”
查看>>
Debian Wheezy 64 - 为Chrome/Chromium和Firefox/Iceweasel添加flash支持
查看>>
rh436 - Facing "Volume group for uuid not found" error while run lvcreate on shared storage
查看>>
Archlinux to Debian小记
查看>>