Java
文章平均质量分 57
azza
这个作者很懒,什么都没留下…
展开
-
java创建线程三种方法
1.继承Thread,重写run()public static void main(String[] args){ MyThread t = new MyThread(); t.run(); } private static class MyThread extends Thread{ @Override public void run(){ //do... } }2.实现R原创 2021-07-13 22:37:46 · 153 阅读 · 0 评论 -
JAVA容器(一)HashMap(jdk1.8)
HashMap位于java.util包下,实现Map接口。键值对,每个键都唯一(插入重复键时,覆盖value值),只允许有一个空键。结构:数组+链表/红黑树,初始默认容量为16基本元素:size:hashmap中实际存在键值对的数量。length:数组长度,必须为2的幂次方。threshold:在此Load factor(负载因子,默认为0.75)和length对应下允许的最大元素数目,即与size相比较,size超过这个值就resize进行扩容。modCount:用来记录HashMap内部原创 2021-06-05 22:52:25 · 292 阅读 · 1 评论 -
JAVA基础(二)泛型
Java泛型:在编译时进行类型检查,检查后擦除类型,保证运行期间类型安全。创建对象实例或者调用方法时才作为参数指定类型。相关术语:(下图参考自Java3y https://www.zhihu.com/question/272185241)E是形式类型参数,String是实际类型参数。每个泛型都定义一个原生态类型,即不带任何实际类型参数。上述列表对应的原生态类型就是ArrayList。原生态类型会逃避泛型检查,失去类型安全性。(目前支持原生态类型是为了与以前的java版本兼容)规则:ArrayL原创 2021-05-23 22:56:35 · 148 阅读 · 1 评论 -
JAVA基础(一)继承、封装、多态
继承复用父类的方法和域,还可以在此基础上添加新的方法和域。构造器:对于继承自父类的私有域,子类不能直接访问,在进行初始化时,需要通过super调用父类构造器,该调用语句必须是子类构造器的第一条语句。若没有显式地调用父类构造器,则将自动调用父类默认的构造器(不带参数)。若父类没有不带参数的构造器,子类构造器中也未显式调用父类其他构造器,则java编译器会报错。继承实现多态:一个类变量既可以引用该类本身的对象实例,也可以引用该类的子类对象实例。(引用多态)继承实现多态时的方法调用:(方法多态)原创 2021-05-21 22:46:06 · 110 阅读 · 0 评论 -
继承、委派
委派:对象间继承:类间几种委派类型1.临时 在调用相应方法时才传入,通过方法建立委派关系,用时才传入2.永久 在Rep中显示出来,即通过构造器或set方法建立委派关系。以上两种是从外部动态传入的。3.还有一种永久类型,是在Rep中固定委派对象的类型,不是动态传入的,无法改变类型。继承和委派的使用及组合:把每种维度用接口ABC…表示,对每个维度的各种具体特殊情况,分别实现其该接口的不同类a1,a2…b1,b2…。再用一个接口T实现各个行为接口ABC…,即对各种维度进行组合,完成需求。最后实原创 2020-07-11 22:18:54 · 698 阅读 · 0 评论 -
LSP原则
重写(override):参数不变,返回值类型必须是原类型或原类型的子类。访问权限不能变低。final、static的方法不能被重写。重载(overload):参数不同,返回值类型可相同可不同。访问权限可以修改。方法重载:一个类中,多个方法可以有相同的名字,不同的参数列表。调用方法时,可根据给定参数列表选择调用哪个方法。方法重写是子类与父类的一种多态性表现,而方法重载是一个类的多态性表现。LSP原则pre-condition不能强化post-condition不能弱化要保持或增强不变原创 2020-07-11 22:17:17 · 633 阅读 · 0 评论 -
Eclipse:出现The selection cannot be launched,and there are no recent launches
检查main函数这里之前没加参数,改过后可以运行。原创 2020-03-06 00:18:04 · 1308 阅读 · 0 评论