java编程思想
vincient爱游戏
估计比我菜的没几个了
展开
-
Java编程思想——内部类
文章目录序言1. 创建内部类2. 链接到外部类3. 使用.this和.new4. 内部类和向上转型5. 方法和作用域中的内部类6. 匿名内部类6.1 再访工厂方法7. 嵌套类7.1 接口内部的类7.2 从多层嵌套类中访问外部类的成员8. 为何需要内部类8.1 闭包和回调8.2 内部类和控制框架9. 内部类继承10. 内部类可以被覆盖么?11. 局部内部类12. 内部类标识符序言内部类:可以将...原创 2020-04-29 10:44:45 · 499 阅读 · 0 评论 -
java编程思想——接口
文章目录序言1. 抽象类和方法2. 接口3. 完全解耦4. Java多重继承5. 通过继承扩展接口5.1 组合接口时的命名冲突6. 适配接口7. 接口中的字段7.1 初始化接口中的字段8. 接口嵌套9. 接口和工厂10. 结论序言接口和抽象类提供了将接口和实现分离的结构化方式1. 抽象类和方法构建通用接口的唯一理由是为了让不同的子类有不同的表达。抽象基类即抽象类。抽象类的对象几乎...原创 2020-04-21 16:30:53 · 318 阅读 · 0 评论 -
java编程思想——多态
文章目录序言:1. 再论向上转型1.1 忘记对象类型2. 转换2.1 方法调用绑定2.2 产生正确行为2.3 可扩展性2.4 缺陷:重写私有方法2.5 缺陷:字段和静态方法3. 构造器和多态3.1 构造函数的调用顺序3.2 继承和清理3.3 构造器内部多态方法的行为4. 协变返回类型5. 用继承进行设计5.1 替换与扩展5.2 向下转型和运行时类型信息序言:多态是面向对象编程语言的第三种特性...原创 2020-04-14 22:47:16 · 245 阅读 · 0 评论 -
java编程思想——访问控制
文章目录访问控制(1)访问控制(2)访问控制(3)访问控制(4)访问控制(5)访问控制(1)访问控制和代码重构有关。需要考虑一条设计原则:将不变的东西和变的东西分开来类库使用者依赖类库,在类库发生变化的时候不需要对代码进行更改。通过某些约定可以实现这个准则:类库编程人员必须保证不移除现有方法。类库编程人员遇到的问题:不知道哪些字段或方法被客户端程序员所使用,导致对类库的修改束...原创 2020-02-08 11:41:33 · 111 阅读 · 0 评论 -
java编程思想——初始化和清除
文章目录初始化和清除(1)初始化和清除(2)初始化和清除(3)初始化和清除(4)初始化和清除(5)初始化和清除(6)初始化和清除(7)初始化和清除(8)初始化和清除(9)初始化和清除(1)java自动调用构造器以保证每个对象的初始化。构造器方法的名字和类名一致。代码示例:package initialization;/** * @author vincient * @crea...原创 2020-02-03 15:22:58 · 109 阅读 · 0 评论 -
java编程思想——流程控制
流程控制(1)java中流程控制关键词:if-else:whiledo-whileforreturnbreakswitch⚠️java不支持goto流程控制(2)所有条件语句都使用条件表达式的真或假(true或false)来决定执行路径,例:x == y⚠️java不允许将数字作为boolean表达式。流程控制(3)if-else,例:if(...原创 2020-01-19 18:12:21 · 131 阅读 · 0 评论 -
java编程思想——运算符
运算符(1)Java通过运算符操作底层数据Java SE5新特性:静态导入,例://: operators/HelloDate.javaimport java.util.*;import static net.mindview.util.Print.*; public class HelloDate { public static void main(St...原创 2020-01-18 11:32:17 · 213 阅读 · 0 评论 -
java编程思想——万物皆对象
万物皆对象(1)java中的一切都是对象java中被操作的时对象的引用(通过引用改变对象)java不是按引用传递,java是按值传递引用(https://www.journaldev.com/3884/java-is-pass-by-value-and-not-pass-by-reference)引用可以独立于对象本身存在,所以安全的做法是创建引用的时候做初始化动作万物皆对...原创 2020-01-12 10:23:33 · 204 阅读 · 0 评论 -
对象导论(13)
客服端/服务端技术:以数据为中心 ,对中心数据的更改将被传递到信息消费者。服务器:信息仓库 + 信息分发软件 + 硬件。客户端:依存于消费者机器,与服务端通信,接收信息,处理信息,显示信息的软件CS计算一个服务器需要处理过多的客户端。 数据需要“均衡”分布于表中。 事物管理在用户插入数据时需要保证新插入的数据不会覆盖老数据,并且不能在数据处理的过程中丢失。 客户端有更新...原创 2020-01-04 10:07:03 · 72 阅读 · 0 评论 -
对象导论(12)
并发编程的基本概念:在同一时间处理多个任务其他编程语言:让程序停止执行,处理其他的事项,再回到原来的主程序最初的解决方案:中断中断在时间敏感的问题处理上是有用的。但更多的问题是将问题拆分成多个可独立运行的部分,提高系统的响应度。此处独立运行的部分即线程。对应的概念就是并发。线程只是分配单一处理器执行时间的手段。在编程语言层面无需考虑有一个处理器还是很多处理器...原创 2020-01-04 10:06:29 · 66 阅读 · 0 评论 -
对象导论(11)
大部分编程语言的缺陷:未强制规定一种错误处理方案。异常处理机制将错误处理直接编写到编程语言中。有单独的代码专门处理异常。在编写代码时不必刻意关心异常。异常不是错误码。错误码时可以被忽略的,但是异常必须要处理。异常处理机制能够使代码恢复正常运行而不仅仅是退出程序。这就提高了代码的健壮性异常处理并不是面向对象的特征,异常处理的出现早于面向对象...原创 2020-01-04 10:05:54 · 67 阅读 · 0 评论 -
对象导论(10)
问题:对象的创建和销毁方式1. 创建对象C++的方式:在C++中应该明确指明删除对象,这就很复杂了对于对象的数据存储区域和对象的生命周期问题,C++认为性能控制是首要考虑的问题,所以C++将此交程序员处理为了最大运行速度,可以在编写程序时指定存储存储和生命周期。数据存储在堆栈(自动变量或限域变量)或静态存储空间中。这样控制的对象的建立和释放都很快。缺点...原创 2020-01-04 10:05:27 · 67 阅读 · 0 评论 -
对象导论(9)
容器:用以对应用中的对象引用进行具体管理(List,Set,Map,Trees,queues,Stacks)LinkedList和ArrayList的区别:LinkedList读写慢,增删快。 ArrayList读写温度但是增删慢。向下转型:将基类转化为子类(不安全)参数化类型(范型)的优势:解决从容器获取数据向下转型导致的性能问题、规避运行时异常、提高开发效率...原创 2020-01-04 10:03:59 · 65 阅读 · 0 评论 -
对象导论(8)
除C++外几乎所有的面向对象语言的最终基类都是Object单根结构:对象创建,垃圾回收,传参,异常处理等都会很方便原创 2020-01-04 10:03:30 · 68 阅读 · 0 评论 -
对象导论(7)
提高代码的可扩展性:处理对象类层次结构时,将具体对象当基类进行处理。这样在方法处理的时候就不必关心具体的对象类型了。优点:提高设计,降低维护成本对象根据类型执行具体代码。非OOP编译器的方法调用:前期绑定,编译器生成对具体方法名的调用,运行时系统解析到将要执行的代码绝对地址。OOP编译器的方法调用:后期绑定,程序直到运行时才能决定需要调用的代码位置,编译器做方法存在性检查和参...原创 2019-12-31 11:41:30 · 120 阅读 · 1 评论 -
对象导论(5)
代码实现的复用方式:直接使用类的对象实例; 将类的对象置于新的类中,以成员对象的方式组合在一起,进一步引出两个概念组合:从已有的类构成新类。 聚合:已有类动态组合在一起。总之,组合即是HAS-A的关系。组合图例:注意⚠️:使用继承之前先考虑使用组合(和继承相比较,组合更简单易用也更加灵活)...原创 2019-12-31 11:39:56 · 84 阅读 · 0 评论 -
对象导论(4)
需要进行类创建者和类使用者的分类。类创建者隐藏部分内部实现避免被类使用者篡改。java使用的访问控制关键词:public:任何人均可以访问。private:提供给类创建者访问,在类内部访问。protected:子类可以访问default:包内成员可以互相访问,对于包外就是private...原创 2019-12-31 11:36:50 · 70 阅读 · 0 评论 -
对象导论(3)
使用面向对象进行编程的主要思路:寻找已经定义的对象或者尚未定义的对象,以理想地实现功能。对于未定义的对象,从三个方面进行考虑:这些对象像什么, 这些对象提供哪些服务, 这些对象又需要哪些对象以履行职责。将对象当作服务提供者,可以提高软件内聚。...原创 2019-12-31 11:36:11 · 63 阅读 · 0 评论 -
对象导论(2)
class的基本概念:基本面向对象思想:任何独立的对象都可以算作具有相同特性和行为的类的一部分。 class关键词的由来:在程序运行过程中,除了状态不一样以外其他均一致的对象被归类为一类对象(class of objects)。 面向对象思想的基本操作:建立抽象类。 虽然在面向对象语言中所做的就是创建新的对象类型(create new data types),但所有的面向对象语言均使用“...原创 2019-12-31 11:35:45 · 177 阅读 · 0 评论 -
Java简介(二)
1. Java设计目标:降低程序员编程复杂度原创 2019-12-31 11:34:24 · 59 阅读 · 0 评论 -
Java简介(一)
1. 对于java的观点:仅仅是另一种编程语言(❌)2. 编程是什么?复杂性管理:待解决问题的复杂度基于解决问题的机器的复杂度3. 当前的困境没有一种编程语言的主要设计目标是克服开发和维护程序的复杂性。 许多语言设计决策都是考虑到复杂性的,但是在某些时候,总有其他问题被认为是必不可少的。 这些其他问题导致程序员最终用该语言“碰壁”。4. C++的困境:对C语言向后兼容VS高效...原创 2019-12-31 11:33:51 · 97 阅读 · 1 评论 -
java编程思想开篇
写点关于java编程思想的笔记记录。作为心得体会原创 2019-12-31 11:31:07 · 158 阅读 · 0 评论