分类 编程语言 中的文章

异常

异常层次 Error:Java 运行时系统的内部错误和资源耗尽错误。应用程序不应该抛出这种类型的对象。如果出现了这样的内部错误,除了通告给用户,并尽力使程序安全地终止之外,再也无能为力了。 Exceptio……

阅读全文

泛型

泛型定义 在没有泛型前,一旦把一个对象丢进集合中,集合就会忘记对象的类型,把所有的对象都当成 Object 类型处理。当程序从集合中取出对象后,就需要进行强制类型转换,这种转换很容易引起 ClassCastException 异常。 程序在创建集合时指定集……

阅读全文

集合

集合框架中的接口 集合概述 HashSet 类 在 Java 中,hashCode 和 equals 符合这样一个约定:equals 方法返回 true 时, hashCode 值必须相等。 HashSet 判断元素相等的标准是两个对象通过 equals() 比较相等,同时两个对象的 hashCode() 返回值也相等。 当向 HashSet 集合……

阅读全文

反射

类的加载 类的加载过程主要分为三个步骤:加载、连接、初始化。 主要涉及下面两个过程: 将类的 class 文件读入内存,并为之创建一个 java.lang.Class 对象。系统中所有的类实际上也是实例,它们都是 java.lang.Class 的实例 为类变量进行初始化操作 反射 每个……

阅读全文

Lambda表达式

语法 第一个 lambda 表达式:参数、箭头以及一个表达式。 1 (String first, String second) -> first.length() - second.length() 如果代码要完成的计算无法放在一个表达式中,可以把代码放在 {} 中,并包含显示的 return 语句。 1 2 3 4 5 (String first, String second) -> { if (first.length() < second.length()) return -1; else if (first.length() > second.length()) return 1; else return 0;……

阅读全文

匿名内部类

匿名类是用来创建接口或者抽象类的实例的。 匿名内部类适合创建只需要一次使用的类。创建匿名内部类时会立即创建一个该类的实例,这个类定义立即消失,匿名类不能重复使用。 匿名内部类不能定义构造器。因为匿名内部类……

阅读全文

内部类

非静态内部类 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 public class Cow { private double weight; public Cow() { } public Cow(double weight) { this.weight = weight; } // 定义一个非静态内部类 private class CowLeg { private double length; private String color; public CowLeg() {} public CowLeg(double length, String……

阅读全文

多态

Java 引用变量有两种类型。如果编译时类型和运行时类型不一致,就可能出现多态。 编译时类型:由声明该变量时使用的类型决定 运行时类型:由实际运行时赋给该变量的对象决定 向上类型转换 示例代码: 1 2 3 4 5 6 7 8 9 10 11……

阅读全文

接口

设计思想 接口体现的是规范和实现分离的设计哲学,让软件系统的各组件之间面向接口耦合,是一种松耦合的设计。 接口定义的是多个类共同的公共行为规范,这些行为是与外部交流的通道,意味着接口通常是定义一组公共方法……

阅读全文

抽象类

设计思想 抽象类是模板模式的设计模式体现。抽象类是从多个具体类中抽象出来的父类,具有更高层次的抽象。从多个具有相同特征的类中抽象出一个抽象类,以这个抽象类为其子类的模板,避免子类设计的随意性。 使用 抽象类……

阅读全文