
再谈JAVA
hello妈耶儿
职场人
展开
-
再谈Java
使用异常机制的技巧1.异常处理不能代替简单的测试2.不要过分的细化异常3.利用异常层次结构4.不要压制异常5.在检测错误时,”苛刻“要比放任更好6.不要羞于传递异常使用断言大部分确信某个属性符合要求,并且代码的执行依赖于这个属性。这个时候如果抛出异常会在程序中包含大量这种检查,拖慢程序运行速度,Java中引用了assert关键字assert 条件和assert 条件:表达式这两种形...原创 2020-04-15 10:10:25 · 274 阅读 · 0 评论 -
再谈Java
捕获异常如果某个异常发生的时候没有在任何地方进行捕获,那程序就会终止,并在控制台上打印异常信息。其中包括异常的类型和堆栈的内容。对于图形界面,在捕获异常后也会打印堆栈信息,但程序将返回用户界面的处理循环中(在调试GUI程序时,最好保证控制台窗口可见,并且没有最小化)要想捕获一个异常必须设置try/catch语句try ={ code more code more code}cat...原创 2020-04-08 13:33:41 · 188 阅读 · 0 评论 -
再谈Java
处理错误原创 2020-04-02 14:47:11 · 150 阅读 · 0 评论 -
再谈Java
内部类内部类是定义在另一个中的类,内部类的作用:1.内部类可以访问该类定义所在的作用域中的数据,包括私有数据2.内部类可以对同一个包中的其他类隐藏起来3.当想定义一个回调函数且不想编写大量代码时,使用匿名内部类比较便捷使用内部类访问对象的状态一个方法可以引用调用这个方法的对象数据域。内部类既可以访问自身内部的数据域,也可以访问创建它的外围类对象的数据域。为了运行这个程序,内部类的对象总...原创 2020-04-01 13:51:41 · 193 阅读 · 0 评论 -
再谈Java
lambda表达式lambda表达式是一个可传递的代码块,可以在以后执行一次或多次。将一个代码块传递到某个对象。这个代码块将来在某个时间调用。在Java中想要传递代码块只能构造一个对象,所以要想实现这个特性Java引用了lambda。lambda表达式的语法一个方法由返回值,函数名,参数,函数代码构成。例如:class example implements Comparator<S...原创 2020-03-30 16:46:36 · 155 阅读 · 0 评论 -
再谈Java
接口与回调回调是一种常见的程序设计模式,在这种模式中,可以指出某个特定的事件发生时该采取的动作。在Java.swing包中有一个Timer类,可以使用他在给定时间间隔时发出通告,例如时钟,在每过一秒获得一个通告,以便更新表盘,在Java中,将一个对象传递给定时器,然后这个对象调用这个方法,要想让定时器知道调用哪个方法,要求对象所属的类实现了ActionListener接口,并在实现接口的类中定义...原创 2020-03-25 20:52:37 · 159 阅读 · 0 评论 -
再谈Java
接口在Java程序设计中接口不是类,对类的一组需求描述,要求类遵从接口描述的统一格式。接口概念接口中所有的方法都为public,即使不用声明也自动是这个类型,接口不可以提供实例域,之前不能提供实现方法,现在可以提供简单的方法,但是不能引用实例。提供实例域和实现方法的任务由实现接口的那个类来完成,所以接口和抽象类类似,但是有所不同。让类实现一个接口,需要两个步骤完成:1)将类声明为实现的给...原创 2020-03-19 13:49:29 · 124 阅读 · 0 评论 -
再谈Java
继承的设计技巧1.将公共的操作放在超类中2.尽量不使用受保护的域3.使用继承is-a关系4. 除非所有的继承方法都有意义,否则不要使用继承5. 覆盖方法时不要改变预定义行为6. 使用多态7. 不要过多的使用反射...原创 2020-03-10 11:56:59 · 118 阅读 · 0 评论 -
再谈Java
反射反射机制可以用来:1)在运行时分析类的能力2)在运行时查看对象3)实现通用数组操作代码4)利用method对象,这个对象很像c++中的指针他是一个使用人员主要是工具构造者class类程序运行期间,Java运行时系统始终为所有对象维护一个被称为运行时的类型标识。这个信息跟踪每个对象所属的类,虚拟机根据类型信息选择相应的方法执行。可以通过专门的类访问这些信息,这个类就是class...原创 2020-03-10 11:51:57 · 145 阅读 · 0 评论 -
再谈JAVA
参数数量可变的方法现在的Java版本都可以用可变的参数数量调用方法,printf方法就是运用的参数可变的这个方法,printf又两个参数,一个是格式字符串,另外一个是Object[]数组,其中保存着所有的参数(如果参数是整形数组或者其他基本类型,自动装箱功能把他们装成对象),现在扫描fmt字符串,并将第i个格式说明符与args{i}的值匹配起来,可以将已经存在的放最后一个参数数数组的方法重新定义...原创 2020-03-05 15:55:04 · 130 阅读 · 0 评论 -
再谈Java
对象包装器与自动装箱每个基本数据类型都有一个与之对应的类,例如int对应integer,这些类被称为包装器。对象的包装器不可改变,所以构造了包装类后,就不允许改变包装类在其中的值,同时,包装器类还是final,所以不能定义子类。假设定义一个整形数组列表,尖括号中不允许使用基本数据类型,所以声明int必须使用包装器类。可以直接将int类型添加到这个数组列表中,因为因为拥有一个可以将int变量变成i...原创 2020-02-26 19:52:13 · 135 阅读 · 0 评论 -
再谈JAVA
泛型数组列表在JAVA中允许存在在运行时改变数组的大小。但是一旦确定数组大小很难改变。使用ArrayList的类,具有删除和添加的功能,不需要为此编写任何代码。ArrayList是一个采用类型参数的泛型类。为了指定数组列表保存的元素类型,需要用一对尖括号将类名括起来,加在后面如ArrayList<Employee> 如果在菱形中赋值变量、方法或者某个方法的返回。编译器都会将这个变量...原创 2020-02-18 18:57:44 · 237 阅读 · 0 评论 -
再谈JAVA
Object:所有类的超类Object是所有包的始祖,每个类都是由这个类扩展来的,只要没有明确的指出指定的超类,那么超类基本上都是Object,当声明一个对象时可以将Object当成对象类型,但是要想使用子类的具体操作,还需要对对象进行类型转换,适用对象的原始类型。在Java中除了基本数据类型所有都扩展了Object。equals方法检测一个对象与另外一个对象是否相等。在Object类中,将...原创 2020-02-15 15:03:46 · 203 阅读 · 0 评论 -
再谈Java
继承类、超类和子类假设经理与普通员工之间存在一些差异,但是也有相同的地方,这种情况就可以使用继承。定义子类关键字extends表示继承,所有的继承都是公有继承,关键字extends表明正在构建一个新类继承于一个已经存在的类,已经存在的类可以称为超类、基类、父类,新类称为子类、派生类、孩子类。子类拥有的功能比超类还要丰富。在设计类的时候,将通用方法放在父类中,将特殊用途的方法放在子类中。父类...原创 2020-02-09 15:15:46 · 245 阅读 · 0 评论 -
再谈JAVA
文档注释JDK包含一个很有用的工具,叫做Javadoc,它可以由原文件生成一个HTML文件。文档注释和源代码在一个文件中,和以保持两者的一致性。注释的插入Javadoc实用程序由以下几个特性抽取信息包公有类与接口公有的和受保护的构造器公有的和受保护的域要为这几个部分编写注释,注释应该放在所描述特征的前面,注释以/** */格式标记。每个文档注释在标记之后紧跟着自由格式文本 ...原创 2020-02-08 14:24:45 · 169 阅读 · 0 评论 -
再谈JAVA
包包的存在可以将自己的到代码方便的管理,将代码与其他人的代码区分开来。标准Java类分布在多个包中,包是一个层次结构。与硬盘一样,可以使用嵌套的层次结构。使用包的主要原因是确保类名的唯一性,两个包中相同类名互不影响,嵌套的两个包毫无关系,每一个都有自己独立的类集合类的导入一个类可以使用所属包中所有的类,以及其他包中的公共类,使用其他包中类有两种方法,一种是类名前加上报名,另外一种方法是在程序...原创 2020-02-07 15:44:51 · 152 阅读 · 0 评论 -
再谈JAVA
对象构造重载:有些类有多个因为参数、返回值不同的构造器,这种情况叫做重载。他通过方法给出的参数类型与特定方法调用所使用的值类型来挑选相应的方法叫做重载解析。java允许重载任何方法。要想完整的指出一个方法。必须需要方法名和参数,这叫做方法签名。返回值不属于方法的签名。也就是说不能有相同的方法名和参数但是有不同返回类型值的方法。默认域初始化如果在构造器中没有显示初始化初始,那么就会自动的默认...原创 2020-02-06 15:08:56 · 149 阅读 · 0 评论 -
再谈JAVA
静态域与静态方法静态域如果将域定义为static,一个类中只有一个这种域。当创建一个对象时,这个对象会拷贝实例域。但是static这种域不会改变,也就是说不会因为对象的改变而改变,即使没有对象也存在,通常称为类域.静态变量静态变量用final修饰成为静态常量,声明静态常量是因为防止其他对象有自己一份拷贝,而用final修饰是因为防止再次将域改变静态方法静态方法是一种不能向对象实施操作的...原创 2020-02-05 14:31:07 · 138 阅读 · 0 评论 -
再谈JAVA
自定义类设计复杂应用程序的各种主力类。通常不包含main方法。当两个类在一个源文件中时,将程序中包含main方法的类提供给字节码解释器。多个源文件的使用许多程序员会将两个类分成两个源文件,当分成两个源文件时,有两种编译方式,例:类Employee.java.类EmployeeTest.java两个类使用第一种编译方式通配符调用javac Empioyee*.java,另外一种方法直接编译E...原创 2020-02-04 12:34:13 · 142 阅读 · 0 评论 -
再谈JAVA
对象与对象变量首相构造对象,在对对象使用方法。使用构造器创建新实例。构造器是一个特殊的方法用来构造并初始化对象。构造器的名字与方法重名想要构造一个对象需要在构造器的前面加new关键字。如果需要的话可以将一个方法使用于一个刚刚创建的对象。也可以将对象传递给一个方法。对象变量与对象之间有一个重要区别例:Date deadline 这个变量不是一个对象,也没有引用,但是它可以引用Date对象。只有...原创 2020-02-03 13:30:49 · 124 阅读 · 0 评论 -
在谈JAVA
对象与类面向对象程序设计面向对象程序设计(简称OOP)面向对象是由对象组成,每个对象对用户公开特定功能部分隐藏实现部分。只要对象满足要求,就不用关注具体实现过程。传统的结构化程序设计通过设计一系列的过程来求解问题。一旦确定了这些过程,就要开始考虑储存数据的方式,OOP是先考虑数据后考虑操作数据的算法。类类是构造对象的模板和蓝图。举个例子:我们平常吃的面包就是一个对象,制作面包的机器就是一...原创 2020-02-03 11:01:23 · 121 阅读 · 0 评论