javaJava学习笔记程序员

知识点总结之一

2016-12-24  本文已影响45人  Mr_SuX
类与类之间的三种关系

1.is-a关系 -- 继承 --学生和人
2.has-a关系 -- 关联(聚合/合成) -- 扑克和一张牌
3.user-a关系 -- 依赖 -- 人和房子

类和它实现的接口直接的关系

1.play-a/like-a -- 扮演/看起来像

缺省适配模式
对于实现接口Java8新增

1.java8以后,接口可以进行默认实现,从而在实现接口后,可以选择行重写需要的方法。

public default name(){
  此处省略10000行代码
}

2.如果一个接口中只有一个方法且没有默认实现,那么就可以使用如下方法(Lambda表达式/匿名函数:e ->{})。如给按钮添加监听器

okButton.addActionListener(e -> {
  此处省略10000行代码
});
final/native

1.由final修饰的方法,子类不能在重写;
2.final修饰的类,不能被继承(即没有子类);
3.final修饰的变量,即为常量。
4.native修饰的方法,代表其是由C或C++实现的

对象的克隆

-- 如果一个对象在使用中如要多次创建,那么则可以使用对象克隆来增加效率

实现Cloneable接口,子类重写父类(Object)的clone方法
// 重写父类克隆的方法
    @Override
    public Object clone() {
        Student temp = null;
        try {
            // 调用Object父类的clone(克隆)方法
            temp = (Student) super.clone();
        } catch (CloneNotSupportedException e) {
            e.printStackTrace();
        }
        return temp;
    }
数组排序(Arrays.sort())
// 重写Comparable接口的compareTo方法
    @Override
    public int compareTo(Student o) {
        /*
         * 比较this和other谁大谁小(返回负数、0、正数)
         * 后面减前面为升序(this.age-o.age) 
         * 前面减后面为降序(o.age-this.age)
         */
        return this.age - o.age;// 升序
        // return o.age - this.age;// 降序
        // return o.name.compareTo(this.name); // 升序
        // return this.name.compareTo(o.name);// 降序
    }
模版方法设计模式
abstract class Template {
    // 未确定部分
    public abstract void code();
    // 已确定部分
    public void speedTimes() {
        long start = System.currentTimeMillis();
        code();
        long end = System.currentTimeMillis();
        System.out.println("运行时间:" + (end - start));
    }
}
class SubTemplate extends Template {
    @Override
    public void code() {
        for (int i = 2; i <= 100000; i++) {
            boolean flag = true;
            for (int j = 2; flag && j <= Math.sqrt(100000); j++) {
                if (i % j == 0) {
                    flag = false;
                }
            }
            if (flag) {
                System.out.println(i);
            }
        }
    }
}
上一篇下一篇

猜你喜欢

热点阅读