
Java基础知识点
Tiffany小仙女
这个作者很懒,什么都没留下…
展开
-
Comparator和Comparable之间的区别
参考:两种比较器的区别对于Comparable接口:public class Domain implements Comparable<Domain> {// Comparable相当于内比较器,重写compareTo方法 private String str; public Domain(String str) { this.str = str; } @Ove...原创 2018-08-12 16:44:37 · 179 阅读 · 0 评论 -
break和continue
任何迭代语句的主体部分,都可用于break和continue控制循环的流程。其中break强行退出循环,不执行循环中剩余的语句。而continue则停止执行当前的迭代,然后退回循环起始处,开始下一次迭代。 前提:break和continue语句都是在for循环或者是switch语句中运行的package thinking.java.chapter04;public class Dem...原创 2018-11-16 15:48:49 · 134 阅读 · 0 评论 -
自动装箱和拆箱
自动装箱就是把基本数据类型用它们对应的包装类包装起来,使它们具有对象的特质,可以调用该包装类锁对应的方法 Integer a = 1; Integer b = 1; Integer c = 144; Integer d = 144; Integer a1 = new Integer(1); Inte...原创 2018-11-05 16:16:48 · 166 阅读 · 0 评论 -
effective java-创建销毁对象
第一条 考虑用静态工厂方法代替构造器https://www.jianshu.com/p/ceb5ec8f1174注意:静态工厂方法与设计模式中的工厂方法模式不同静态工厂方法有以下几大优势:它们有名称(当一个类需要多个带有相同签名的构造器时,就用静态工厂方法代替构造器) 不必在每次调用的时候都要创建一个对象(这种情况下可以减伤创建不必要对象的开销,单例模式大多通过静态工厂方法实现) ...原创 2018-11-03 10:39:59 · 137 阅读 · 0 评论 -
HashMap源码分析
/** * 默认初始容量,必须为2的次幂 */ static final int DEFAULT_INITIAL_CAPACITY = 1 << 4; // aka 16 /** * HashMap的最大值,可以是int的最大值 */ static final int MAXIMUM_CAPACITY = 1 &...转载 2018-09-29 14:19:33 · 130 阅读 · 0 评论 -
抽象类与接口
抽象类和抽象方法:抽象方法格式:abstract void f();//仅声明而没有方法体抽象类:包含抽象方法的类,如果一个类包含一个或多个抽象方法,该类必限定为抽象的抽象类和普通类的区别:抽象方法必须为public或protected或缺省 抽象类不能创建对象,即不能实例化 如果一个类继承于抽象类,则子类必须实现父类的抽象方法(所有),如果子类没有实现父类的抽象方法,则必须将...转载 2018-09-29 10:26:28 · 133 阅读 · 0 评论 -
查缺补漏——String,StringBuffer,StringBuilder区别及用法
最近在看并发及虚拟机部分,介绍了String是不可变的对象,顺便复习了与string相关的类。一 String是不可变对象,它一定是线程安全的,因为当我们调用substring(),replace(),concat()这些方法时,都不会影响它原来的值,只会返回一个新构造的字符串对象,因此当要经常改变字符串内容时尽量不要用String对象,因为每次生成对象都会对系统性能产生影响,特别是当内存中无...原创 2018-10-03 10:56:39 · 117 阅读 · 0 评论 -
多态
多态:即父类引用指向子类对象子类是对父类的一个扩充,所以一般情况下子类较父类的功能更加强大,属性较父类更独特,定义父类引用指向子类对象可以使用子类强大的功能,又可以抽取父类的特性因此父类类型的引用可以调用父类中所有的属性和方法,而在子类中定义父类中没有的方法是不能调用的,父类中的一个方法,只有在父类中定义而在子类中没有重写的情况下,才可以被父类类型的引用调用动态绑定:对于父类中定义的方...原创 2018-09-25 18:15:53 · 132 阅读 · 0 评论 -
创建线程的三种方式
有三种创建方式:继承Thread类来创建线程 实现Runnable接口来创建线程 使用Callable和Future创建线程方法一:定义Thead类的子类并重写里面的run方法,当使用该类启动线程时,直接调用里面的start即可public class Demo1 extends Thread{//创建线程的第一种方式 public void run() { System....原创 2018-08-13 10:42:08 · 263 阅读 · 0 评论 -
嵌套类
如果不需要内部类对象与外部类对象之间有联系,那么就可以将内部类声明为static,称为嵌套类嵌套类意味着:要创建嵌套类的对下那个,并不需要其外围类的对象 不能从嵌套类的对象中访问非静态的外围类对象在一个普通的内部类中,通过一个特殊的this引用可以链接到其外围类对象,嵌套类就没有这个特殊的this引用。因此可以将嵌套类理解为 static方法接口内部的类嵌套类可以作为接口的一部...原创 2018-11-27 20:37:40 · 180 阅读 · 0 评论