学习java代理类过程中,遇到并解决的一些问题(其实本篇与代理无关。。。。)
问题1.如何查看Java类库源代码
因为是新换的电脑,eclipse和JDK都重装了最新版本,在学习代理类时,想查看Proxy.newProxyInstance( ),结果显示
这应该是由于我并没有把rt.jar同JDK下的src.jar绑定起来导致的;
我的绑定办法,点击Change Attached Source...,然后在弹出来的对话框下,将JDK目录下的src.zip导入,问题解决。
问题2. .class与.getClass()的区别
.class与.getClass()都可以用来获取Class对象;
.class是通过 类名.class 来获取Class对象,编译的时候即获取;
.getClass()是通过 实例名.getClass() 来获取Class对象,运行的时候获取;(稍后补充代码说明)
问题3. System.out.println(对象)时,我知道会调用对象.toString()方法,但是为什么object.getClass()和object,同是对象,但打印结果为什么不同,分别是(传入的实参是Dog类的对象)
class com.pa1.Dog
com.pa1.Dog@52e922
虽然后来解决了,原因还挺简单,但这中间也费了不少劲儿,都怪自己java知识太薄弱;
首先object.getClass()返回的是一个泛型Class<?>,与object数据类型不同,接着又查看了toString的代码实现,Object中toString()方法的实现是这样的:
getClass().getName() + "@" + Integer.toHexString(hashCode());
而泛型Class<?>重写了toString方法,是这样的:
(isInterface() ? "interface " : (isPrimitive() ? "" : "class ")) + getName();
object.getClass().getName()方法,返回的即是 com.pa1.Dog,问题解决。
- 转载一些学习centOS过程中会遇到的问题及解决办法
- 学习JAVA过程中遇到的一些低级问题备忘记录
- 最近在ArcGIS Engine开发中关于调用gp工具过程出现COM 组件的调用返回了错误 HRESULT E_FAIL 错误的解决方法 和 学习oracle中遇到的一些问题总结
- 学习JAVA语言过程中遇到了一些问题
- spark:学习过程中遇到的一些问题及解决方法(如何将本地文件发布到HDFS)--11
- 一个新手学习python的过程中遇到的一些问题及解决方法
- ssh开发过程中遇到的问题,以及一些解决办法
- 学习shell 时遇到的一些问题(unexpected operator) 和解决方法
- 学习H5页面遇到的一些问题与解决办法汇总
- grails 学习过程中遇到的一些问题
- 关于将Java中序列化对象写入byte[]遇到的一些问题及解决方法
- tensorfolw配置过程中遇到的一些问题及其解决过程的记录(配置SqueezeDet: Unified, Small, Low Power Fully Convolutional Neural Networks for Real-Time Object Detection for Autonomous Driving)
- Java学习中,所遇到的一些问题及解决方案
- Web开发敏捷之道-应用Rails进行敏捷Web开发-第三版 在用rails3.2学习过程中遇到的问题及解决方法
- Storm编译打包过程中遇到的一些问题及解决方法
- dwz问题(本文主要是供个人学习成长之用,陈述的是本人在开发过程中遇到的几个小问题的总结,可能兼或插入一些网络资料)
- Matlab保存图像过程中遇到的问题和一些解决办法
- JAVA+AXIS客户端调用Asp.net Web Service过程中遇到的问题及解决方法
- uboot 移植学习过程遇到问题的解决方法
- JAVA学习提高之----解决插入数据库时遇到的引号问题