Java编程思想
Living_Z
这个作者很懒,什么都没留下…
展开
-
Java编程思想 图形化用户界面总结
设计中要遵循的一条基本原则是 让简单的事情变得容易 让困难的事情变得可行applet它是一种可以在Internet上传递 并在Web浏览器中运行的程序(出于安全性 只能在所谓的沙盒内运行)Swing基础大多数Swing应用都被构建在基础的JFrame内部 JFrame在你使用的任何操作系统中都可以创建视窗应用 视窗的标题可以像下面这样使用JFrame的构造器来设置请注意最后一行如果...原创 2019-11-28 18:02:51 · 2684 阅读 · 0 评论 -
Java编程思想 并发总结
并发的多面性并发编程令人困惑的一个主要原因是 使用并发时需要解决的问题有多个 而实现并发的方式也有多种 并且在这两者之间没有明显的映射关系(而且通常只具有模糊的界线) 因此 你必须理解所有这些问题和特例 以便有效地使用并发用并发解决的问题大体上可以分为 速度 和 设计可管理性 两种更快的执行速度问题初听起来很简单 如果你想要一个程序运行得更快 那么可以将其断开为多个片段 在单独的处理器上运...原创 2019-11-26 23:22:42 · 1508 阅读 · 0 评论 -
Java编程思想 注解总结
注解(也被称为元数据)为我们在代码中添加信息提供了一种形式化的方法 使我们可以在稍后某个时刻非常方便地使用这些数据基本语法在下面的例子中 使用@Test对testExecute()方法进行注解 该注解本身并不做任何事情 但是编译器要确保在其构造路径上必须有@Test注解的定义 程序员可以创建一个通过反射机制来运行testExecute()方法的工具定义注解下面就是前例中用到的注解@Tes...原创 2019-11-11 16:08:49 · 300 阅读 · 0 评论 -
Java编程思想 枚举类型总结
关键字enum可以将一组具名的值的有限集合创建为一种新的类型 而这些具名的值可以作为常规的程序组件使用 这是一种非常有用的功能基本enum特性创建enum时 编译器会为你生成一个相关的类 这个类继承自java.lang.Enum 下面的例子演示了Enum提供的一些功能将静态导入用于enumBurrito.java的另一个版本使用static import能够将enum实例的标识符带...原创 2019-11-01 11:59:44 · 390 阅读 · 1 评论 -
Java编程思想 Java I/O系统总结
File类目录列表器假设我们想查看一个目录列表 可以用两种方法来使用File对象 如果我们调用不带参数的list()方法 便可以获得此File对象包含的全部列表 然而 如果我们想获得一个受限列表 例如 想得到所有扩展名为.java的文件 那么我们就要用到 目录过滤器 这个类会告诉我们怎样显示符合条件的File对象下面是一个示例 注意 通过使用java.utils.Arrays.sort()和...原创 2019-10-30 17:29:46 · 1167 阅读 · 0 评论 -
Java编程思想 容器深入研究总结
完整的容器分类法下面是集合类库更加完备的图 包括抽象类和遗留构件(不包括Queue的实现)填充容器虽然容器打印的问题解决了 容器的填充仍然像java.util.Arrays一样面临同样的不足 就像Arrays一样 相应的Collections类也有一些实用的static方法 其中包括fill() 与Arrays版本一样 此fill()方法也是只复制同一个对象引用来填充整个容器的 并且只对L...原创 2019-10-18 18:17:08 · 282 阅读 · 0 评论 -
Java编程思想 数组总结
数组为什么特殊数组与其他种类的容器之间的区别有三方面 效率 类型和保存基本类型的能力数组可以持有基本类型 而泛型之前的容器则不能 但是有了泛型 容器就可以指定并检查它们所持有对象的类型 并且有了自动包装机制 容器看起来还能够持有基本类型 下面是将数组与泛型容器进行比较的示例数组是第一级对象下例总结了初始化数组的各种方式 以及如何对指向数组的引用赋值 使之指向另一个数组对象 此例也说明 ...原创 2019-10-15 17:17:12 · 307 阅读 · 0 评论 -
Java编程思想 泛型总结
一般的类和方法 只能使用具体的类型 要么是基本类型 要么是自定义的类 如果要编写可以应用于多种类型的代码 这种刻板的限制对代码的束缚就会很大与C++的比较Java中的泛型就需要与C++进行一番比较 理由有二 首先 了解C++模板的某些方面 有助于你理解泛型的基础 同时 非常重要的一点是 你可以了解Java泛型的局限是什么 以及为什么会有这些限制 最终的目的是帮助你理解 Java泛型的边界在哪里...原创 2019-09-27 10:25:39 · 395 阅读 · 0 评论 -
Java编程思想 类型信息总结
运行时类型信息使得你可以在程序运行时发现和使用类型信息为什么需要RTTI在这个例子中 当把Shape对象放入List的数组时会向上转型 但在向上转型为Shape的时候也丢失了Shape对象的具体类型 对于数组而言 它们只是Shape类的对象当从数组中取出元素时 这种容器——实际上它将所有的事物都当作Object持有——会自动将结果转型回Shape 这是RTTI最基本的使用形式 因为在Ja...原创 2019-09-17 14:33:44 · 221 阅读 · 0 评论 -
Java编程思想 字符串总结
不可变StringString对象是不可变的 String类中每一个看起来会修改String值的方法 实际上都是创建了一个全新的String对象 以包含修改后的字符串内容 而最初的String对象则丝毫未动当把q传给upcase()方法时 实际传递的是引用的一个拷贝 其实 每当把String对象作为方法的参数时 都会复制一份引用 而该引用所指的对象其实一直待在单一的物理位置上 从未动过重载...原创 2019-07-30 16:55:39 · 227 阅读 · 0 评论 -
Java编程思想 通过异常处理错误总结
Java的基本理念是 结构不佳的代码不能运行概念异常 这个词有 我对此感到意外 的意思 问题出现了 你也许不清楚该如何处理 但你的确知道不应该置之不理 你要停下来 看看是不是有别人或在别的地方 能够处理这个问题 只是在当前的环境中还没有足够的信息来解决这个问题 所以就把这个问题提交到一个更高级别的环境中 在这里将作出正确的决定使用异常所带来的另一个相当明显的好处是 它往往能够降低错误处理代码...原创 2019-07-24 16:34:21 · 599 阅读 · 0 评论 -
Java编程思想 持有对象总结
如果一个程序只包含固定数量的且其生命期都是已知的对象 那么这是一个非常简单的程序泛型和类型安全的容器使用Java SE5之前的容器的一个主要问题就是编译器允许你向容器中插入不正确的类型在本例中 Apple和Orange都放置在了容器中 然后将它们取出 正常情况下 Java编译器会报告警告信息 因为这个示例没有使用泛型 在这里 我们使用Java SE5所特有的注解来抑制了警告信息 注解以 @ ...原创 2019-07-12 15:50:52 · 188 阅读 · 0 评论 -
Java编程思想 操作符总结
使用Java操作符加号和一元的正号(+) 减号和一元的负号(-) 乘号(*) 除号(/)以及赋值号(=)几乎所有的操作符都只能操作 基本类型 例外的操作符是 = == 和 != 这些操作符能操作所有的对象 String类支持 +和+=优先级先乘除后加减String后面紧跟一个 + 而这个+的后面又紧跟一个非String类型的元素时 就会尝试着将这个非String类型的元素转换为Strin...原创 2019-05-31 15:56:54 · 198 阅读 · 0 评论 -
Java编程思想 初始化与清理总结
用构造器确保初始化在创建对象时:new Rock();将会为对象分配存储空间 并调用相应的构造器方法重载方法名相同而形式参数不同区分重载方法每个重载的方法都必须有一个独一无二的参数类型列表 参数顺序不同也可以区分两个方法 不建议这样做 会使代码难以维护涉及基本类型的重载基本类型能从一个 较小 的类型自动提升至一个 较大 的类型如果传入的数据类型(实际参数类型)小于方法中声明的形...原创 2019-06-12 16:41:26 · 201 阅读 · 0 评论 -
Java编程思想 访问权限控制总结
访问控制(或隐藏具体实现)与 最初的实现并不恰当 有关包:库单元包内包含有一组类 它们在单一的名字空间之下被组织在了一起使用包中类 可以使用全名来指定 或者import关键字 要想导入包中所有的类 只需要使用 *一个Java编译单元中 只可以有一个public类 并且名称要与文件的名称相同(包括大小写)代码组织当编译一个.java文件时 在.java文件中的每个类都会有一个输出文件 而...原创 2019-06-19 14:50:22 · 179 阅读 · 0 评论 -
Java编程思想 控制执行流程总结
true和falseJava不允许我们将一个数字作为布尔值使用 在C和C++里是允许的(真 是非零 而 假 是零)if-elseelse if 并非新的关键字 而仅仅只是一个else后面紧跟另一个新的if语句迭代while和do-while唯一的区别就是do-while中的语句至少会执行一次 即便表达式第一次就被计算为false 而在while循环结构中 如果条件第一次就为fals...原创 2019-06-10 14:57:48 · 161 阅读 · 0 评论 -
Java编程思想 多态总结
在面向对象的程序设计语言中 多态是继数据抽象和继承之后的第三种基本特征再论向上转型对象既可以作为它自己本身的类型使用 也可以作为它的基类型使用 这种把对某个对象的引用视为对其基类型的引用的做法被称作向上转型——因为在继承树的画法中 基类是放置在上方的转机方法调用绑定将一个方法调用同一个方法主体关联起来被称作绑定 若在程序执行前进行绑定(如果有的话 由编译器和连接程序实现) 叫做前...原创 2019-07-02 17:27:50 · 341 阅读 · 0 评论 -
Java编程思想 复用类总结
组合语法每一个非基本类型的对象都有一个toString()方法 而且当编译器需要一个String而你却只有一个对象时 该方法便会被调用"source = " + source将调用toString() 把source转换成为一个String对象引用会被初始化为null 而且如果你试图为它们调用任何方法 都会得到一个异常——运行时错误 在不抛出异常的情况下仍旧可以打印一个null引用编译器...原创 2019-06-28 11:38:34 · 216 阅读 · 0 评论 -
Java编程思想 接口总结
接口和内部类为我们提供了一种将接口与实现分离的更加结构化的方法抽象类和抽象方法抽象方法 abstract void f();包含抽象方法的类叫做抽象类 如果一个类包含一个或多个抽象方法 该类必须被限定为抽象的(否则 编译器就会报错)如果从一个抽象类继承 并想创建该新类的对象 那么就必须为基类中的所有抽象方法提供方法定义 如果不这样做(可以选择不做) 那么导出类便也是抽象类 且编译器将会强制...原创 2019-07-09 14:51:59 · 298 阅读 · 0 评论 -
Java编程思想 内部类总结
可以将一个类的定义放在另一个类的定义内部 这就是内部类创建内部类更典型的情况是 外部类将有一个方法 该方法返回一个指向内部类的引用如果想从外部类的非静态方法之外的任意位置创建某个内部类的对象 那么必须像在main()方法中那样 具体地指明这个对象的类型 OuterClassName.InnerClassName链接到外部类...原创 2019-07-11 09:27:41 · 231 阅读 · 1 评论 -
Java编程思想 一切都是对象总结
用引用操纵对象Sting s;这里所创建的只是引用 并不是对象创建一个引用的同时便进行初始化String s = “asdf”;字符串可以用带引号的文本初始化必须由你创建所有对象String s = new String(“asdf”);new关键字的意思是 给我一个新对象它不仅表示 给我一个新的字符串 而且通过提供一个初始字符串 给出了怎样产生这个String的信息存储到什么...原创 2019-05-30 15:24:08 · 192 阅读 · 0 评论