
Java基础
主要是Java的一些基础知识,程序设计,对象和类,继承,接口,异常等
金栗
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
java学习之路---日志处理
1.基本日志要生成简单的日志记录,可以使用全局日志记录器(global logger)并调用其info方法:Logger.getGlobal().info("File->Open menu item selected");在默认情况下,这条记录会显示以下内容May 10,2019 10:12:15 PM LoggingImageViewer fileOpenINFO: ...原创 2019-11-25 20:32:39 · 196 阅读 · 0 评论 -
java学习之路---使用异常机制的技巧
1.异常处理不能代替简单的测试例:试着上百万次地对一个空栈进行退栈操作。在实施退栈操作之前,首先要查看栈是否为空。if(!s.empty()) s.pop();接下来,强行进行退栈操作。然后,捕获EmptyStackException异常来告知我们不能这样做:try{ s.pop();}catch(EmptyStackException e){}在测试的机器上,...原创 2019-10-29 11:10:59 · 198 阅读 · 0 评论 -
java学习之路----捕获异常
1.捕获异常如果某个异常发生的时候没有在任何地方进行捕获,那程序就会终止执行,并在控制台上打印出异常信息,其中包括异常的类型和堆栈的内容。对于图形界面程序(applet和应用程序),在捕获异常之后,也会打印出堆栈的信息,但程序将返回到用户界面的处理循环中。要想捕获一个异常,必须设置try/catch语句块。最简单的try语句块如下所示: try { code mo...原创 2019-10-29 10:23:26 · 618 阅读 · 0 评论 -
java学习之路---异常
如果一个用户在运行程序期间,由于程序的错误或一些外部环境的影响造成用户数据的丢失,用户就有可能不再使用这个程序了。为了避免这类事情发生,至少做到以下几点:向用户通告错误;保存所有的工作结果;允许用户以妥善的形式推出程序。对于异常情况,Java使用一种称为异常处理(exception handing)的错误捕获机制处理。处理错误假设在一个Java程序运行期间出现了一个错误。这个错误可...原创 2019-10-28 10:18:31 · 145 阅读 · 0 评论 -
java学习之路之----内部类
内部类(inner class)是定义在另一个类中的类,引入内部类的原因:内部类方法可以访问该类定义所在的作用域中的数据,包括私有数据。内部类可以对同一个包中的其他类隐藏起来当想要定义一个回调函数且不想编写大量代码时,使用匿名(anonymous)内部类比较便捷。1.使用内部类访问对象状态分析TimerTest,并抽象出一个TalkingClock类。构造一个语音时钟时需要提供两个参...原创 2019-10-25 00:18:48 · 227 阅读 · 0 评论 -
java学习之路--lambda表达式
1.1 为什么引入lambda表达式lambda表达式是一个可传递的代码块,可以在以后执行一次或多次。我们先观察一下在Java中的哪些地方用过这种代码块。在接口那一节中,已经了解如何按照指定时间间隔完成工作。将这个工作放在ActionListener的actionPerformed方法中: class Worker implements ActionListener { publ...原创 2019-10-18 23:53:15 · 201 阅读 · 0 评论 -
java学习之路--接口示例
接口与回调回调(call back)是常见的程序设计模式。在这种模式中,可以指出某个特定事件发生时应该采取的动作。例如,可以指出在按下鼠标或选择某个菜单选项时应该采取什么行的。在java.swing包中有一个Timer类,可以使用它在给定时间间隔时发出通告。例如,加入程序有一个时钟,就可以请求每秒钟获得一个通告,以便更新时钟的表盘。在Java标准类库中的类采用的是面向对象方法。它将某个类的对...原创 2019-10-11 21:20:38 · 175 阅读 · 0 评论 -
java学习之路--继承的设计技巧
1.将公共操作和域放在超类2.不要使用受保护的域第一,子类集合是无限制的,任何一个人都能够由某个类派生一个子类,并写代码以直接访问prorected的实例域,从而破坏了封装性。第二,在Java程序设计语言中,在同一个包中的所有类都可以访问protected域,而不管它是否为这个类的子类。3.使用继承实现“is-a”关系4.除非所有继承的方法都有意义,否则不要使用继承假设想编写一个Hol...原创 2019-10-09 23:51:52 · 109 阅读 · 0 评论 -
java学习之路--反射
反射库(reflection library)提供了一个非常丰富且精心设计的工具集,以便编写能够动态操纵Java代码的程序。这项功能被大量地应用于JavaBeans中,它是Java组件的体系建构。使用反射Java可以支持Visual Basic用户的习惯使用的工具。特别是在设计或运行中添加新类是,能够快速地应用开发工具动态地查询新添加类的能力能够分析类的能力的程序称为反射(reflective)...原创 2019-10-09 23:27:32 · 84 阅读 · 0 评论 -
java学习之路--枚举类
定义枚举类型的例子public enum Size{ SMALL,MEDIUM,LARGE,EXTRA_LARGE}此类型是一个类,它刚好有4个实例,在此尽量不要构造新对象。因此,在比较两个枚举类型的值时,不需要调用equals,直接使用“==”就可以了。如果需要的话,可以在枚举类型中添加一些构造器,方法和域。当然构造器只是在构造枚举常量的时候被调用,下面是一个实例:public en...原创 2019-10-09 23:17:16 · 222 阅读 · 0 评论 -
java学习之路--参数数量可变的方法
在java SE 5.0之前,每个Java方法都有固定数量的参数。然而,现在的版本提供了可以用可变的参数数量调用的方法(变参)如方法:printf 调用:System.out.printf("%d",n);和System.out.printf("%d %s",n,"widets");在上面两条语句中,尽管一个调用包含两个参数,另一个调用包含三个参数,但他们调用的是同一个方法。pri...原创 2019-10-09 22:46:24 · 308 阅读 · 0 评论 -
java学习之路----对象包装器与自动装箱
对象包装器与自动装箱包装器类引用为null,所以自动装箱可能会抛出一个NullPointerException异常:Integer n=null;System.out.println(2*n); //Throws NullPointerException另外,如果在一个条件表达式中混合使用Interger和Double类型,Interger值就会拆箱,提升为double,再装箱为Dou...原创 2019-10-09 22:16:31 · 121 阅读 · 0 评论 -
java学习之路--接口
1.接口1.1接口概念在java中,接口不是类,而是对类的一组需求描述,这些类要遵从接口描述的统一格式进行定义。“如果类遵从某个特定接口,那么就履行这个服务”。例子:Arrays类中的sort方法承诺可以对对象数组排序,但要求满足:对象所属的类必须实现了Comparable接口。下面是Comparable接口的代码:public interface Comparable{ int...原创 2019-10-10 23:24:06 · 211 阅读 · 1 评论