软件构造
吃饱了的阴谋家
这个作者很懒,什么都没留下…
展开
-
重新认识final
final作为Java语言中的一个保留的关键字,可以用来声明成员变量、方法、类以及本地变量。一旦你将引用声明作final,你将不能改变这个引用了,编译器会检查代码,如果你试图将变量再次初始化的话,编译器会报编译错误。一、基本用法1.修饰变量凡是对成员变量或者局部变量声明为final的都为final变量。final变量经常和static关键字一起使用,用来定义程序中的常量。final修饰基本数据类型的变量时,必须赋予初始值且不能被改变,修饰引用变量时,该引用变量不能再指向其他对象当final修饰基本原创 2020-07-09 10:27:16 · 102 阅读 · 0 评论 -
谜团探究为何String拼接字符串效率低下
在日常的编程之中,我们经常会接触到对字符串String的拼接操作。而实际运用中直接使用"+"来拼接String的效率是低下的,现在我们就来探究其中的原因。我们先来看看如下代码:public class StringTest { public static void main(String[] args) { String a = "abc"; String b = "def"; String c = a + b; Syst原创 2020-06-25 19:56:21 · 382 阅读 · 0 评论 -
finally块不执行的两种情况
java异常处理机制中的try…catch…finally我们已经很熟悉了,其中无论是否捕获或处理异常,finally块里的语句都会被执行。但仍然存在finally块里的语句不被执行的情况。现在我们就来探究一下什么情况下finally块里的语句不被执行。第一次尝试public static void main(String[] args) { try { System.out.println("try被执行了!"); System.exit(0); } catch (Exceptio原创 2020-05-15 22:40:52 · 1260 阅读 · 3 评论 -
一个问题
问题类A中有两个overload方法:void B(Object o)void B(Number n)客户端程序new A().B(Integer.valueOf(1))调用的是哪个B方法?还是说这段代码无法通过编译?上手编程public class A { void B(Object o) { System.out.println("0"); } void...原创 2020-04-12 01:10:55 · 105 阅读 · 0 评论 -
神秘的ADT
写在前面课程中接触到了ADT,自感对其的理解还不够深刻,于是在这里做个总结,也算是复习了。ADT与其类型基本概念抽象数据类型(Abstract Data Type,ADT)是是指一个数学模型以及定义在该模型上的一组操作;即包括数据数据元素,数据关系以及相关的操作。ADT由操作定义,与其内部如何实现无关。强调“作用于数据上的操作”,程序员和client无需关心数据如何具体存储的,只需设...原创 2020-04-02 13:10:00 · 160 阅读 · 0 评论