
Java编程思想-笔记
小桥流水-Android
这个作者很懒,什么都没留下…
展开
-
容器的深入研究
文章目录完整的容器分类图队列单向队列Queue双向队列Deque优先级队列PriorityQueuListArrayListLinkedListSetHashSetTreeSetLinkedHashSetMapHashMapLinkedHashMapTreeMapWeakHashMapConcurrentHashMapIdentityHashMap散列和散列码散列散列码完整的容器分类图上图介...原创 2020-04-06 17:55:57 · 327 阅读 · 0 评论 -
注解
文章目录Java内置的标准注解和元注解标准注解元注解定义注解注解元素元素的默认值注解处理器通过反射apt工具注解(也被称为元数据)为我们在代码中添加信息提供了一种形式化的方法,使我们可以在稍后某个时刻非常方便的使用这些数据。Java内置的标准注解和元注解标准注解@Override,表示当前的方法定义将覆盖超类中方法,如果不小心拼写错误,或者方法签名对不上被覆盖的方法,编译器就会发出错误提...原创 2020-04-04 16:52:55 · 206 阅读 · 0 评论 -
枚举类型
文章目录枚举类型的定义基本枚举类的特性向枚举类中添加新的方法或域添加构造方法和域添加抽象方法覆盖枚举类方法关键字enum可以将一组具名的值的有限集合创建为一种新的类型,而这些具名的值可以作为常规的程序组建使用。枚举类型的定义定义枚举类使用关键字enum(定义类使用class),后面紧跟类名。例子:public enum Shrubbery{A,B,C}其中A,B,C是这个枚举类的实例...原创 2020-04-03 22:45:55 · 221 阅读 · 0 评论 -
泛型
一般的类和方法,只能使用具体的类型,要么是基本类型,要么是自定义类型。如果要编写可以用于多种类型的代码,这种刻板的限制对代码的束缚就会很大。在面向对象的编程语言中,多态算是一种泛化机制。例如,如果方法参数使用的是基类,那么这个方法可以适用的类和地方就会更多,这样就具备更好的灵活性。但是final类不能扩展,其他任何类都可以扩展。Java中是单继承的,所以上述方法还是受到很大限制。如果方法的参数...原创 2019-11-23 21:47:20 · 217 阅读 · 0 评论 -
类型信息
运行时类型信息使得我们可以在程序运行时发现和使用类型信息。运行时类型信息使得我们只能在编译期执行面向类型的操作的禁锢中解脱出来。Java中,我们在程序运行时识别对象和类的信息主要有两种方式:“传统的”RTTI,它假定我们在编译时已经知道了所有类型;“反射”机制,它允许我们在程序运行时发现和使用类的信息。为什么需要RTTIclass Shapes{}class Cirele exe...原创 2019-11-08 17:25:59 · 174 阅读 · 0 评论 -
通过异常处理错误
Java的基本理念是“结构不佳的代码不能远行”。发现错误的理想时机是在编译阶段,也就是在试图运行程序之前。然而,编译期间并不能找出所有的错误,余下的问题必须在运行期间解决。这就需要错误源能通过某种方式,把适当的信息传递给某个接受者——该接收者将知道如何正确处理这个问题。Java通过异常来提供一致的错误报告模型。概念“异常”这个词有“我对此感到惊讶”的意思。问题出现了,你也许不清楚该如何处理,...原创 2019-11-02 11:49:05 · 212 阅读 · 0 评论 -
内部类
可以将一个类的定义放在另一个类的定义内部,这就是内部类。但内部类与组合是完全不同的概念。文章目录创建内部类链接到外部类使用.this和.new.this创建内部类class A { class B{ } public void static mian(String arg[]){ A a = new A(); A.B b = a.new B(); }}想要创建内部类对象...原创 2019-10-23 10:58:39 · 131 阅读 · 0 评论 -
接口
接口和内部类为我们提供了一种将接口与实现分离的更加结构化的方法。文章目录抽象类和抽象方法接口完全解耦Java 中的多重继承通过继承来扩展接口抽象类和抽象方法我们为了解决某个问题建立了一个类,这个类定义了方法但是没有具体的方法体,我们建立这个类的目的是想它的让导出类来做具体的实现,这个类只是建立了一个通用接口,让不同的子类用不同的方式表示此接口。通用接口建立起一种基本形式,以此表示所有导出类的...原创 2019-10-21 07:51:40 · 126 阅读 · 0 评论 -
多态
在面向对象的程序设计语言中,多态是继数据抽象和继承之后的第三种基本特征。文章目录再论向上转型转机方法调用绑定多态通过分离做什么和怎么做,从另一角度将接口和实现分离开来。“封装”通过合并特征和行为来创建新的数据类型。“实现隐藏”则通过将细节“私有化”把接口和实现分离开来。多态的作用则是消除类型这间的耦合关系。再论向上转型对象即可以作为它自己本身的类型使用,也可以作为它的基类型使用,这种把对某...原创 2019-10-19 10:15:58 · 173 阅读 · 0 评论 -
复用类
复用代码是Java众多引人注目的功能之一。但想要成为极具革命性的语言,仅仅能够复制代码并对之加以改变是不够的,它还必须能够做更多的事情。组合语法将现有类的对象的引用置于新类中。被视为“has-a”(拥有)关系。在使用对像的引用前必须要赋值在定义对象的地方。在类的构造器中。就在正要使用对象这前,称为“惰性初始化”。使用实例初始化(块语句)继承语句...原创 2019-10-17 09:22:10 · 148 阅读 · 0 评论 -
初始化与清理
随着计算机革命的发展,“不安全”的编程方式已逐渐成为编程代价的高昂的主因之一。文章目录用构造器确保初始化方法重载默认构造器成员初始化用构造器确保初始化构造器是一种特殊的方法,采用与类名相同的名称。构造器没有返回值。返回空void和没有返回值是不一样的。不接受任何参数的构造器叫默认构造器。Book b = new Book(); 创建对象为对象在堆上分配了空间,并调用构造器初始化了对象...原创 2019-10-15 17:11:23 · 139 阅读 · 0 评论 -
控制执行流程
就像有知觉的生物一样,流程必须在执行过程中控制它的世界,并做出选择。在Java中,你要使用执行控制语句来做出选择。文章目录选择语句迭代选择语句if( Boolean-expression ){statement} else {statement}else 和它后面的{}可以没有。布尔表达式必须产生一个布尔结果。switch(integral-selector){cas...原创 2019-10-12 10:43:10 · 179 阅读 · 0 评论 -
操作符
在最底层,Java中的数据都是使用操作符来操作的文章目录使用Java操作符优先级赋值算数操作符自动递增和递减关系运数符逻辑操作符按位操作符移位操作符三元操作符字符串操作符类型转换操作符使用Java操作符操作符作用于操作数,生成一个新值。有些操作符可能会改变操作数自身的值,这被称为“副作用”。优先级一个表达式中同时存在多个操作符时,操作符的优先决定了各部分的计算顺序。可以使用()来明...原创 2019-10-11 16:02:53 · 166 阅读 · 0 评论 -
一切都是对象
文章目录引用操纵对象必须由你创建所有对象创建新的数据类型:类Java中的特例:基本数据类型“如果我们说一种不同的语言,那么我们就会发觉一个有些不同的世界” ——Luduing Wittgerstein引用操纵对象在Java程序中,一切都被视为对象。在程序中尽管一切都看作对象,但真正操作的是对象的标识符,而标识符称为对象的引用,所以程序中操作的是对象的引用。引用与对象引用可不关联对象而独...原创 2019-10-10 20:22:04 · 167 阅读 · 0 评论 -
对象导论
“我们之所以将自然界分解,组织成各种概念,并按其含义分类,主要是因为我们是整个口语交流社会共同遵守的协定的参与者,这个协定以语言的形式固定下来…除非赞成这个协定中规定的有关语言信息的组织和分类,否则我们根本无法交谈。”——Benjamin Lee Whorf抽象的过程我们能够解决的问题的复杂性直接取决于抽象的类型和质量。类型是指所抽象的是什么质量是指抽象得好不好对问题的描述、理解和...原创 2019-10-09 16:35:29 · 164 阅读 · 0 评论