03 2021 档案
摘要:Employee package com.ch.exer1; /* * 编写一个Employee类,声明为抽象类, 包含如下三个属性:name,id,salary。 提供必要的构造器和抽象方法:work()。 * * */ public abstract class Employee { priva
阅读全文
摘要:/* * abstract关键字的使用 * 1.abstract:抽象的 * 2.abstract可以用来修饰的结构:类、方法 * * 3. abstract修饰类:抽象类 * > 此类不能实例化 * > 抽象类中一定有构造器,便于子类实例化时调用(涉及:子类对象实例化的全过程) * > 开发中,都
阅读全文
摘要:一、关键字:static static:静态的1.可以用来修饰的结构:主要用来修饰类的内部结构属性、方法、代码块、内部类2.static修饰属性:静态变量(或类变量) 2.1 属性,是否使用static修饰,又分为:静态属性 vs 非静态属性(实例变量) * 实例变量:我们创建了类的多个对象,每个对
阅读全文
摘要:package com.ch.java3; /* * 对属性可以赋值的位置: * ①默认初始化 * ②显式初始化/⑤在代码块中赋值 * ③构造器中初始化 * ④有了对象以后,可以通过"对象.属性"或"对象.方法"的方式,进行赋值 * * * 执行的先后顺序:① - ② / ⑤ - ③ - ④ */
阅读全文
摘要:/* * 类的成员之四:代码块(或初始化块) * * 1. 代码块的作用:用来初始化类、对象 * 2. 代码块如果有修饰的话,只能使用static. * 3. 分类:静态代码块 vs 非静态代码块 * * 4. 静态代码块 * >内部可以有输出语句 * >随着类的加载而执行,而且只执行一次 * >作
阅读全文
摘要:/* * 单例设计模式: * 1. 所谓类的单例设计模式,就是采取一定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例。 * * 2. 如何实现? * 饿汉式 vs 懒汉式 * * 3. 区分饿汉式 和 懒汉式 * 饿汉式: * 坏处:对象加载时间过长。 * 好处:饿汉式是线程安全的 *
阅读全文
摘要:/* * static关键字的使用 * * 1.static:静态的 * 2.static可以用来修饰:属性、方法、代码块、内部类 * * 3.使用static修饰属性:静态变量(或类变量) * 3.1 属性,按是否使用static修饰,又分为:静态属性 vs 非静态属性(实例变量) * 实例变量:
阅读全文
摘要:1.为什么要有包装类(或封装类)为了使基本数据类型的变量具有类的特征,引入包装类。 2.基本数据类型与对应的包装类: 3.需要掌握的类型间的转换:(基本数据类型、包装类、String) 简易版:基本数据类型< >包装类:JDK 5.0 新特性:自动装箱 与自动拆箱基本数据类型、包装类 >String
阅读全文
摘要:* Java中的JUnit单元测试 * * 步骤: * 1.中当前工程 - 右键择:build path - add libraries - JUnit 4 - 下一步 * 2.创建Java类,进行单元测试。 * 此时的Java类要求:① 此类是public的 ②此类提供公共的无参的构造器 * 3.
阅读全文
摘要:3. toString()方法3.1 toString()的使用: 1. 当我们输出一个对象的引用时,实际上就是调用当前对象的toString() * * 2. Object类中toString()的定义: * public String toString() { return getClass()
阅读全文
摘要:public void test3() { Integer i = new Integer(1); Integer j = new Integer(1); System.out.println(i == j);//false:比较地址,是否是同一对象 //Integer内部定义了IntegerCac
阅读全文
摘要:package com.ch.java2; import org.junit.Test; /* * 包装类的使用: * 1.java提供了8种基本数据类型对应的包装类,使得基本数据类型的变量具有类的特征 * * 2.掌握的:基本数据类型、包装类、String三者之间的相互转换 * * * */ pu
阅读全文
摘要:/* * Object类中toString()的使用: * * 1. 当我们输出一个对象的引用时,实际上就是调用当前对象的toString() * * 2. Object类中toString()的定义: * public String toString() { return getClass().g
阅读全文
摘要:/* * * 面试题: == 和 equals() 区别 * * 一、回顾 == 的使用: * == :运算符 * 1. 可以使用在基本数据类型变量和引用数据类型变量中 * 2. 如果比较的是基本数据类型变量:比较两个变量保存的数据是否相等。(不一定类型要相同) * 如果比较的是引用数据类型变量:比
阅读全文
摘要:finalize()是Object中的方法,当垃圾回收器将要回收对象所占内存之前被调用,即当一个对象被虚拟机宣告死亡时会先调用它finalize()方法,让此对象处理它生前的最后事情(这个对象可以趁这个时机挣脱死亡的命运)。要明白这个问题,先看一下虚拟机是如何判断一个对象该死的。 判定死亡"GC R
阅读全文
摘要:package com.ch.exer; //考查多态的笔试题目: public class InterviewTest1 { public static void main(String[] args) { Base1 base = new Sub1(); base.add(1, 2, 3); S
阅读全文
摘要:package com.ch.exer; /* * 练习: * 1.若子类重写了父类方法,就意味着子类里定义的方法彻底覆盖了父类里的同名方法, * 系统将不可能把父类里的方法转移到子类中:编译看左边,运行看右边 * * 2.对于实例变量则不存在这样的现象,即使子类里定义了与父类完全相同的实例变量,
阅读全文
摘要:
阅读全文
摘要:/* * 面向对象特征之三:多态性 * * 1.理解多态性:可以理解为一个事物的多种形态。 * 2.何为多态性: * 对象的多态性:父类的引用指向子类的对象(或子类的对象赋给父类的引用) * * 3. 多态的使用:虚拟方法调用 * 有了对象的多态性以后,我们在编译期,只能调用父类中声明的方法,但在运
阅读全文
摘要:/* * Eclipse中的快捷键: * 1.补全代码的声明:alt + / * 2.快速修复: ctrl + 1 * 3.批量导包:ctrl + shift + o * 4.使用单行注释:ctrl + / * 5.使用多行注释: ctrl + shift + / * 6.取消多行注释:ctrl +
阅读全文
摘要:作用: 继承的出现减少了代码冗余,提高了代码的复用性。 继承的出现,更有利于功能的扩展。 继承的出现让类与类之间产生了关系,提供了多态的前提。 注意:不要仅为了获取其他类中某个功能而去继承 /* * 面向对象的特征之二:继承性 why? * * 一、继承性的好处: * ① 减少了代码的冗余,
阅读全文
摘要:再谈方法1 :方法的重载(overload) /* * 方法的重载(overload) loading... * * 1.定义:在同一个类中,允许存在一个以上的同名方法,只要它们的参数个数或者参数类型不同即可。 * * "两同一不同":同一个类、相同方法名 * 参数列表不同:参数个数不同,参数类型不
阅读全文
摘要:/* * 方法的重写(override / overwrite) * * 1.重写:子类继承父类以后,可以对父类中同名同参数的方法,进行覆盖操作 * * 2.应用:重写以后,当创建子类对象以后,通过子类对象调用子父类中的同名同参数的方法时,实际执行的是子类重写父类的方法。 * * 3. 重写的规定:
阅读全文
摘要:/* * 类中属性的使用 * * 属性(成员变量) vs 局部变量 * 1.相同点: * 1.1 定义变量的格式:数据类型 变量名 = 变量值 * 1.2 先声明,后使用 * 1.3 变量都有其对应的作用域 * * * 2.不同点: * 2.1 在类中声明的位置的不同 * 属性:直接定义在类的一对{
阅读全文
摘要:/* * 一、设计类,其实就是设计类的成员 * * 属性 = 成员变量 = field = 域、字段 * 方法 = 成员方法 = 函数 = method * * 创建类的对象 = 类的实例化 = 实例化类 * * 二、类和对象的使用(面向对象思想落地的实现): * 1.创建类,设计类的成员 * 2.
阅读全文
摘要:package com.ch.exer;/* * 使用二维数组打印一个 10 行杨辉三角。 【提示】 1. 第一行有 1 个元素, 第 n 行有 n 个元素 2. 每一行的第一个元素和最后一个元素都是 1 3. 从第三行开始, 对于非第一个元素和最后一个元素的元素。即:yanghui[i][j] =
阅读全文
摘要:数组中的常见异常: 1. 数组角标越界的异常:ArrayIndexOutOfBoundsExcetion 2. 空指针异常:NullPointerException package com.ch.java;/* * 数组中的常见异常: * 1. 数组角标越界的异常:ArrayIndexOutOfBo
阅读全文
摘要:/** * 快速排序 * 通过一趟排序将待排序记录分割成独立的两部分,其中一部分记录的关键字均比另一部分关键字小, * 则分别对这两部分继续进行排序,直到整个序列有序。 * @author shkstart * 2018-12-17 */public class QuickSort { privat
阅读全文
摘要:public class BubbleSortTest { public static void main(String[] args) { int[] arr = new int[]{43,32,76,-98,0,64,33,-21,32,99}; //冒泡排序 for(int i = 0;i <
阅读全文
摘要:/* * 二维数组的使用 * * 1.理解: * 对于二维数组的理解,我们可以看成是一维数组array1又作为另一个一维数组array2的元素而存在。 * 其实,从数组底层的运行机制来看,其实没有多维数组。 * * 2. 二维数组的使用: * ① 二维数组的声明和初始化 * ② 如何调用数组的指定位
阅读全文

浙公网安备 33010602011771号