junjun898

经典java问题

第一,谈谈final, finally, finalize的区别。

final—修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为 abstract的,又被声明为final的。将变量或方法声明为final,可以保证它们在使用中不被改变。被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。被声明为final的方法也同样只能使用,不能重载。

finally—再异常处理时提供 finally 块来执行任何清除操作。如果抛出一个异常,那么相匹配的 catch 子句就会执行,然后控制就会进入 finally 块(如果有的话)。

finalize—方法名。java 技术允许使用 finalize() 方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。它是在 object 类中定义的,因此所有的类都继承了它。子类覆盖 finalize() 方法以整理系统资源或者执行其他清理工作。finalize() 方法是在垃圾收集器删除对象之前对这个对象调用的。

第二,anonymous inner class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)?

匿名的内部类是没有名字的内部类。不能extends(继承) 其它类,但一个内部类可以作为一个接口,由另一个内部类实现。

第三,static nested class 和 inner class的不同,说得越多越好(面试题有的很笼统)。

nested class (一般是c++的说法),inner class (一般是java的说法)。java内部类与c++嵌套类最大的不同就在于是否有指向外部的引用上。具体可见http: //www.frontfree.net/articles/services/view.asp?id=704&page=1

注: 静态内部类(inner class)意味着1创建一个static内部类的对象,不需要一个外部类对象,2不能从一个static内部类的一个对象访问一个外部类对象

第四,&和&&的区别。

&是位运算符。&&是布尔逻辑运算符。

第五,hashmap和hashtable的区别。

都属于map接口的类,实现了将惟一键映射到特定的值上。

hashmap 类没有分类或者排序。它允许一个 null 键和多个 null 值。

hashtable 类似于 hashmap,但是不允许 null 键和 null 值。它也比 hashmap 慢,因为它是同步的。

第六,collection 和 collections的区别。

collections是个java.util下的类,它包含有各种有关集合操作的静态方法。

collection是个java.util下的接口,它是各种集合结构的父接口。

第七,什么时候用assert。

断言是一个包含布尔表达式的语句,在执行这个语句时假定该表达式为 true。如果表达式计算为 false,那么系统会报告一个 assertionerror。它用于调试目的:

assert(a > 0); // throws an assertionerror if a 关注我收藏该文与我联系

posted on 2009-02-25 23:12 junjun898 阅读(74) 评论(0)编辑 收藏


======================================================
在最后,我邀请大家参加新浪APP,就是新浪免费送大家的一个空间,支持PHP+MySql,免费二级域名,免费域名绑定 这个是我邀请的地址,您通过这个链接注册即为我的好友,并获赠云豆500个,价值5元哦!短网址是http://t.cn/SXOiLh我创建的小站每天访客已经达到2000+了,每天挂广告赚50+元哦,呵呵,饭钱不愁了,\(^o^)/
Completed submission of oboe:arm64-android@1.8.0 to 1 binary cache(s) in 408 ms Waiting for 1 remaining binary cache submissions... Completed submission of catch2:arm64-android@3.8.0 to 1 binary cache(s) in 1.5 s (1/1) -- Running vcpkg install - done -- Using Precompiled Headers. -- Target architecture: arm64 -- Found Boost: /Users/junjun/StudioProjects/sumi-emu/src/android/app/.cxx/RelWithDebInfo/95m702j4/arm64-v8a/vcpkg_installed/arm64-android/share/boost/BoostConfig.cmake (found version "1.85.0") found components: context -- Could NOT find enet (missing: ENET_LINK_LIBRARIES) (found version "") -- Could NOT find LLVM: found neither LLVMConfig.cmake nor llvm-config.cmake -- Found lz4: /Users/junjun/StudioProjects/sumi-emu/src/android/app/.cxx/RelWithDebInfo/95m702j4/arm64-v8a/vcpkg_installed/arm64-android/share/lz4/lz4Config.cmake (found version "1.10.0") -- Found nlohmann_json: /Users/junjun/StudioProjects/sumi-emu/src/android/app/.cxx/RelWithDebInfo/95m702j4/arm64-v8a/vcpkg_installed/arm64-android/share/nlohmann_json/nlohmann_jsonConfig.cmake (found version "3.11.3") -- Could NOT find Opus (missing: OPUS_LINK_LIBRARIES) (found version "") -- Could NOT find RenderDoc (missing: RenderDoc_INCLUDE_DIR) -- Could NOT find SimpleIni (missing: SIMPLEINI_INCLUDEDIR) (found version "") -- Could NOT find stb (missing: stb_image_INCLUDE_DIR stb_image_resize_INCLUDE_DIR stb_image_write_INCLUDE_DIR) -- Could NOT find VulkanMemoryAllocator (missing: VulkanMemoryAllocator_DIR) -- Found ZLIB: optimized;/Users/junjun/StudioProjects/sumi-emu/src/android/app/.cxx/RelWithDebInfo/95m702j4/arm64-v8a/vcpkg_installed/arm64-android/lib/libz.a;debug;/Users/junjun/StudioProjects/sumi-emu/src/android/app/.cxx/RelWithDebInfo/95m702j4/arm64-v8a/vcpkg_installed/arm64-android/debug/lib/libz.a (found version "1.3.1") -- Check if compiler accepts -pthread -- Check if compiler accepts -pthread - yes -- Found zstd: /Users/junjun/StudioProjects/sumi-emu/src/android/app/.cxx/RelWithDebInfo/95m702j4/arm64-v8a/vcpkg_installed/arm64-android/share/zstd/zstdConfig.cmake (found version "1.5.6") -- Could NOT find oaknut (missing: oaknut_DIR) -- Could NOT find dynarmic (missing: dynarmic_DIR) -- Could NOT find cubeb (missing: cubeb_DIR) -- Could NOT find gamemode (missing: GAMEMODE_INCLUDEDIR) (found version "") -- Found Threads: TRUE -- Configuring incomplete, errors occurred! See also "/Users/junjun/StudioProjects/sumi-emu/src/android/app/.cxx/RelWithDebInfo/95m702j4/arm64-v8a/CMakeFiles/CMakeOutput.log". See also "/Users/junjun/StudioProjects/sumi-emu/src/android/app/.cxx/RelWithDebInfo/95m702j4/arm64-v8a/CMakeFiles/CMakeError.log".
08-26
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值