Java中请优先使用try-with-resources而非try-finally Java库包含了很多需要手工调用close方法来关闭的资源.比如说InputStream.OutputStream及java.sql.Connection.关闭资源常常会被客户端所忽视,这会导致可怕的性能问题.虽然很多资源使用了终结器来作为安全网,不过终结器却并不那么尽如人意. 从历史上来看,try-finally语句是确保资源会被恰当关闭的最佳方式,即便在遇到异常或是返回语句时亦如此: // try-final…
2.Abstract类实现接口 马克-to-win:如果实现某接口的类是abstract类,则它可以不实现该接口所有的方法.但其非abstract的子类中必须拥有所有抽象方法的实在的方法体:(当然它abstract爹的也算作是它的) If a class implements an interface, it must implement all of its methods in the interface, otherwise, this class must be an abstract…
[新手可忽略不影响继续学习]下面例子中setYear中的return this;返回了一个指向对象的指针,this.setMonth(8).setDay(20);是合法的,如果像原来的例子一样什么都不返回,就成了void.setMonth(8).setDay(20); 马克-to-win,系统就该报错了 class MyTestDate {    int year;    int month;    MyTestDate(int year, int month, int day) {      …
例1.7.2(抽象类可以继承实体类)- class VehMark_to_win {    void steer() {        System.out.println("Turn steering wheel");    }}abstract class Cart extends VehMark_to_win {    //因为Cart是抽象的, 可以这里还是什么都不干}abstract class Car extends VehMark_to_win {    void mov…
9.2 找出12和8的最大公约数和最小公倍数.     public class Test {     public static void main(String[] args) {         getcommon_mu(12,8);         getcommon_div(12,8);     } //计算 最大公约数  和  最小公倍数     static void getcommon_mu(int n, int m) {         int i, b, d;        …
9.1 找出100到200之间的质数.  public class Test {     public static void main(String[] args){         for (int j=100; j<200; j++){             int k;             for(k=2; k<j; k++){                 int tmp = j%k;                 if (tmp == 0){ /*如果有一个k,能够除开j…
首先理解一下受检异常与非受检异常: 异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机操作中可能遇到的异常,是一种常见的运行错误,只要程序设计的没有问题通常就不会发生.受检异常与程序的上下文环境有关,仍然可能因使用问题而引发.java编译器要求方法必须声明抛出可能发生的受检异常,但是并不要求抛出未被捕获的运行时异常. 转自https://blog.csdn.net/troubleshooter/article/details/78354757 受检异常为什么要转化为非受检异常:ht…
在研究单例设计模式的时候,用到了静态变量和静态方法的内容,出于兴趣,这里简单了解一下这四个模块在类初始化的时候的加载顺序. 经过研究发现,它们的加载顺序为: 1.非静态代码块 2.静态变量或者静态代码块…
文件加载方式有两种: 使用文件系统自带的路径机制,一个应用程序只能有一个当前目录,但可以有Path变量来访问多个目录 使用ClassPath路径机制,类路径跟Path全局变量一样也是有多个值 在Java中,优先使用ClassPath,因为很多程序库在更改路径时更改的是ClassPath而不是Path,比如maven项目把resources目录添加到了classpath里面而没有更改path.在这两种路径表达方式中,/都表示根路径. 可以说:path方式使用的是文件系统的方式:classpath使…
java中: class Parent{ public void test(int a){ System.out.println("Parent:" + a); System.out.println(this.getClass().getName()); } } class Child extends Parent{ public void test(int a, int b){ System.out.println("Child:" + a + " &q…