-
Java final修饰符:final修饰属性、final修饰方法及final修饰类
所属栏目:[Java] 日期:2020-12-15 热度:192
final 关键字表示对象是最终形态的,对象是不可改变的意思。final 应用于类、方法和变量时意义是不同的,但本质是一样的:final 表示不可改变。 final 用在变量的前面表示变量的值不可以改变,此时该变量可以被称为常量;final 用在方法的前面表示方法不可以[详细]
-
Java static静态修饰符详解:静态变量、静态方法及静态代码块
所属栏目:[Java] 日期:2020-12-15 热度:123
使用 static 修饰符修饰的属性(成员变量)、常量和成员方法称为静态变量、常量和方法,它们统称为 静态成员 ,归整个类所有,不依赖于类的特定实例,被类的所有实例共享。只要这个类被加载,Java 虚拟机就可以根据类名在运行时数据区的方法区内找到它们。 调[详细]
-
Java包(package):Java系统包和自定义包
所属栏目:[Java] 日期:2020-12-15 热度:51
在编写 Java 程序时,随着程序架构越来越大,类的个数也越来越多,这时就会发现管理程序中维护类名称也是一件很麻烦的事,尤其是一些同名问题的发生。有时,开发人员还可能需要将处理同一方面的问题的类放在同一个目录下,以便于管理。Java 为了解决上述问题[详细]
-
Java声明和抛出异常:throws声明异常、throw抛出异常、throw和th
所属栏目:[Java] 日期:2020-12-15 热度:155
Java 中的异常处理除了包括捕获异常和处理异常之外,还包括声明异常和拋出异常, 可以通过 throws 关键字在方法上声明该方法要拋出的异常 ,然后 在方法内部通过 throw 拋出异常对象 。本节详细介绍在 Java 中如何声明异常和拋出异常。 throws 关键字和 throw[详细]
-
Java接口和抽象类的区别
所属栏目:[Java] 日期:2020-12-15 热度:65
从前面对面向对象的设计原则的讲解,读者可以了解到,其实所有的设计原则和设计模式都离不开抽象,因为只有抽象才能实现上述设计原则和设计模式。 在 Java 中,针对抽象有两种实现方式:一种是接口,一种是抽象类。很多读者对这两种实现方式比较困惑,到底是[详细]
-
Java try catch语句
所属栏目:[Java] 日期:2020-12-15 热度:177
在 Java 中通常采用 try catch 语句来捕获异常并处理。 语法格式如下: try { 逻辑代码块1;} catch(ExceptionType e) { 处理代码块1;} 在以上语法中,把可能引发异常的语句封装在 try 语句块中,用以捕获可能发生的异常。 如果 try 语句块中发生异常,那么一[详细]
-
Java对象类型转换和强制对象类型转换
所属栏目:[Java] 日期:2020-12-15 热度:107
Java 语言允许某个类型的引用变量引用子类的实例,而且可以对这个引用变量进行类型转换。如果把引用类型转换为子类类型,则称为向下转型;如果把引用类型转换为父类类型,则称为向上转型。 例如,Creature 类表示生物类,Animal 类表示动物类,该类对应的子类[详细]
-
Java断言及使用
所属栏目:[Java] 日期:2020-12-15 热度:141
在 JDK 1.4 之后,Java 中增加了断言的功能。 断言(Assertion) 是一种调试程序的方式。 在 Java 中,使用 assert 关键字来实现断言 。断言的定义格式如下: assert boolean 表达式 : 详细信息 以上代码中,boolean 表达式的结果为 true,则会忽略后面的详细[详细]
-
Java数字转人民币读法(附带源码和解析)
所属栏目:[Java] 日期:2020-12-15 热度:134
本节讲解在实际开发中常用的一个方法:将一个浮点数转换成人民币读法字符串,这个程序就需要使用数组。 实现这个方法的思路是,首先把这个浮点数分成整数部分和小数部分。提取整数部分很容易,直接将这个浮点数强制类型转换成一个整数即可,这个整数就是浮点[详细]
-
Java Object类详解:Object类的常用方法(equals()和getClass()
所属栏目:[Java] 日期:2020-12-15 热度:110
Object 是 Java 类库中的一个特殊类,也是所有类的父类。当一个类被定义后,如果没有指定继承的父类,那么默认父类就是 Object 类。 因此,以下两个类是等价的。 public class MyClass{…} 等价于 public class MyClass extends Object {…} 由于 Java 中的[详细]
-
Java完善除法运算的错误信息
所属栏目:[Java] 日期:2020-12-15 热度:76
本次实例的目的很简单,就是由用户输入两个数字,然后进行相除并输出结果。但是要求程序对除法运算过程中的各种异常进行捕捉并提示用户,例如除数是字符、被除数是零等。 在这个实例中定义了一个数组来存放要执行运算的两个操作数,因此还需要对数组的索引越[详细]
-
Java到底有没有多维数组?
所属栏目:[Java] 日期:2020-12-15 热度:135
Java 中没有多维数组的概念,从数组底层的运行机制上来看 Java 没有多维数组,但是 Java 提供了支持多维数组的语法,可以实现多维数组的功能。 Java 语言里的数组类型是引用类型,因此数组变量其实是一个引用,这个引用指向真实的数组内存。数组元素的类型也[详细]
-
为什么使用向上转型而不直接创建子类对象?
所属栏目:[Java] 日期:2020-12-15 热度:108
初学者在学习向上转型可能会很难理解,向上转型并不能调用子类特有属性和方法,我们必须先生成子类实例再赋值给父类引用(向上转型),然后将父类引用向下强制转换给子类引用(向下转型),这样才能调用子类中的所有成员。这看起来像是多次一举,还不如直接创[详细]
-
Java抽象(abstract)类详解
所属栏目:[Java] 日期:2020-12-15 热度:169
Java 语言提供了两种类,分别为具体类和抽象类。前面学习接触的类都是具体类。这一节介绍一下抽象类。 在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对[详细]
-
Java File类(文件操作类)详解
所属栏目:[Java] 日期:2020-12-15 热度:107
在 Java 中, File 类是 java.io 包中唯一代表磁盘文件本身的对象 ,也就是说,如果希望在程序中操作文件和目录,则都可以通过 File 类来完成。File 类定义了一些方法来操作文件,如新建、删除、重命名文件和目录等。 File 类不能访问文件内容本身,如果需要[详细]
-
Java集合类的概念
所属栏目:[Java] 日期:2020-12-15 热度:85
在编程时,可以使用数组来保存多个对象,但数组长度不可变化,一旦在初始化数组时指定了数组长度,这个数组长度就是不可变的,如果需要保存数量变化的数据,数组就有点无能为力了。而且数组无法保存具有映射关系的数据,如成绩表为语文一79,数学一80。这种数[详细]
-
Java RandomAccessFile类:动态读取文件内容
所属栏目:[Java] 日期:2020-12-15 热度:103
所谓 动态读取 是指从文件的任意位置开始访问文件,而不是必须从文件开始位置读取到文件末尾。动态读取需要用到 Java 中的 RandomAccessFile 类。 RandomAccessFile 是 Java 输入/输出流体系中功能最丰富的文件内容访问类 ,它提供了众多的方法来访问文件内容[详细]
-
Java Set集合详解:HashSet类、TreeSet 类
所属栏目:[Java] 日期:2020-12-15 热度:55
Set 集合也实现了 Collection 接口,它主要有两个实现类:HashSet 类和 TreeSet类。Set 集合中 的对象不按特定的方式排序,只是简单地把对象加入集合,集合中 不能包含重复的对象,并且最多只允许包含一个 null 元素。 HashSet 类 HashSet 类是按照哈希算法[详细]
-
Java抽象类和接口的区别
所属栏目:[Java] 日期:2020-12-15 热度:56
前面《Java接口》一节中提到接口是一种特殊的抽象类,接口和抽象类的渊源颇深,有很大的相似之处,所以在选择使用谁的问题上很容易迷糊。本节我们先整理一下 Java 中抽象类和接口的特点,再分析它们具有的相同点、不同点和使用场景。 1)抽象类 在 Java 中,[详细]
-
Java main()方法的格式为什么是固定不变的?
所属栏目:[Java] 日期:2020-12-15 热度:173
在《Java main()方法》一节中提到 main() 方法定义必须是“public static void main(String[] 字符串数组参数名)”,本节告诉大家为什么在 Java 中定义 main 方法的语法是不可改变的。 1)public :这个字段决定了方法是否可以被外部方法调用。我们知道C语言[详细]
-
Java Lambda表达式的3种简写方式
所属栏目:[Java] 日期:2020-12-15 热度:114
使用 Lambda 表达式是为了简化程序代码,Lambda 表达式本身也提供了多种简化形式,这些简化形式虽然简化了代码,但客观上使得代码可读性变差。本节介绍 Lambda 表达式的几种简化形式。 省略参数类型 Lambda 表达式可以根据上下文环境推断出参数类型。calculat[详细]
-
Java Map集合详解
所属栏目:[Java] 日期:2020-12-15 热度:87
Map 是一种键-值对(key-value)集合,Map 集合中的每一个元素都包含一个键对象和一个值对象。 其中,键对象不允许重复,而值对象可以重复,并且值对象还可以是 Map 类型的,就像数组中的元素还可以是数组一样。 Map 接口主要有两个实现类:HashMap 类和 Tre[详细]
-
Java中finally与return的执行顺序
所属栏目:[Java] 日期:2020-12-15 热度:156
在 Java 的异常处理中,try、catch 和 finally 是按顺序执行的。如果 try 中没有异常,则顺序为 try→finally,如果 try 中有异常,则顺序为 try→catch→finally。但是当 try、catch、finally 中加入 return 之后,return 和 finally 的执行顺序让很多人混淆[详细]
-
Java List集合:ArrayList类、LinkList类、ArrayList类和LinkLis
所属栏目:[Java] 日期:2020-12-15 热度:55
List 接口实现了 Collection 接口,它主要有两个实现类:ArrayList 类和 LinkedList 类。在 List 集合中允许出现重复元素。 与 Set 集合不同的是, 在 List 集合中的元素是有序的,可以根据索引位置来检索 List 集合中的元素, 第一个添加到 List 集合中的元[详细]
-
Java Collection接口
所属栏目:[Java] 日期:2020-12-15 热度:104
Collection 接口是 List 接口和 Set 接口的父接口,通常情况下不被直接使用。 Collection 接口定义了一些通用的方法,通过这些方法可以实现对集合的基本操作。因为 List 接口和 Set 接口继承自 Collection 接口,所以也可以调用这些方法。 本节将介绍 Collec[详细]