Java运算符
Java 里的运算符和 C / C++ 几乎同一套:算术算出数值,关系 / 逻辑算出布尔值,位运算按二进制逐位处理,再加上三目条件运算符。先把类别记牢,再对照下面的表和图。 下表是总览,后面按类展开,并配上原文截图。 类别 结果类型 常见符号 算术 数值 + - * / % ++ -- 关系 / 逻…
Java 里的运算符和 C / C++ 几乎同一套:算术算出数值,关系 / 逻辑算出布尔值,位运算按二进制逐位处理,再加上三目条件运算符。先把类别记牢,再对照下面的表和图。 下表是总览,后面按类展开,并配上原文截图。 类别 结果类型 常见符号 算术 数值 + - * / % ++ -- 关系 / 逻…
类是对象的模板,抽象类和接口可以看成具体类的模板。接口从某种角度看是一种特殊的抽象类,相似处很多,选择时容易混。先看相同点,再看各自擅长什么。 使用引用变量时,尽量用类结构的抽象层,让方法的定义和实现分离,代码才能松散耦合。 对比 抽象类 接口 实例化 不能 new 不能 new 抽象方法 可以有,…
抽象类里可以有抽象方法,也可以有已经实现的方法;接口(interface)更“抽象”:传统上它规定一个类必须做什么,而不规定怎么做。 接口用 interface 声明,可以看成一种特殊的抽象类。Java 8 起接口也可以有 default / static 方法,Java 9 还可以有 privat…
自上而下的继承层次里,越靠上的类越通用,甚至更抽象。祖先类往往只包含最基本的成员,人们只把它当作派生其他类的基类,而不会拿它来 new 对象。方法也可以只给出定义、不写实现,交给子类按具体需求去完成。 这种只有定义、没有方法体(没有 {})的方法叫做抽象方法。含有一个或多个抽象方法的类必须声明为抽象…
Java 允许在一个类(或方法、语句块)内部再定义另一个类,称为内部类(Inner Class),有时也叫嵌套类(Nested Class)。 内部类和外层类存在逻辑上的所属关系,一般只用在定义它的类或语句块里,实现没有通用意义的功能。外部引用时必须给出完整名称。 使用内部类的主要原因:可以访问外部…
Java 是面向对象语言,但八种基本类型并不带对象特性:没有属性、也不能调方法。保留它们是为了符合习惯,并让常规数值运算更简单高效。 引用类型都继承了 Object,转成字符串只要调 toString();基本类型就麻烦得多。为此 Java 给每种基本类型配了一个类,叫做包装类(Wrapper Cl…