01 2022 档案
摘要:PDF预览 原文链接——作者:CoderZjz
阅读全文
摘要:异常机制已经成为判断一门编程语言是否成熟的标准,异常机制可以使程序中异常处理代码和正常业务代码分离,保证程序代码更加优雅,并提高程序健壮性。 ######Java异常的处理主要依赖于try,catch,finally,throws,throw这五个关键字。下面分别介绍它们: try:try块中主要放
阅读全文
摘要:####Java内部类 成员内部类 静态内部类 局部内部类 匿名内部类 public class Outer { private int outId = 1; public void outerMethod() { System.out.println("这是一个外部方法"); } public v
阅读全文
摘要:约束和实现分离! 可以实现多个接口! 抽象思维! 接口不能被实例化,接口没有构造方法! #####虽然接口无法被实例化但是可以通过实例化接口的实现类来调用接口的方法
阅读全文
摘要:#####抽象类 不能new这个抽象类,只能靠子类去实现它。约束! 抽象类中可以写普通方法 抽象方法必须在抽象类中 抽象类存在构造器 #####代码实现 public abstract class Demo19 { public abstract void test(); public void s
阅读全文
摘要:public class Student { static { //2号加载(只执行一次) System.out.println("静态代码块"); } { //1号加载 System.out.println("匿名代码块"); } public Student() { //3号加载 System.
阅读全文
摘要:数据类型转换 1.基本数据类型转换: byte,short,char<int <long<float<double 由低到高自动转换byte >double 自动 由高到低强制转换double >byte 强制 2.引用数据类型 子类<父类(父类引用转向子类对象) student<person<ob
阅读全文
摘要:####编译看左边运行看右边 以Person s=new Student();为例。左边用以声明类型,右边用以创建对象。而编译器编译时会查看左边的声明中是否有编译错误(在多态中尤为重要,看是否左边的类型中是否缺少右边类型的方法,否则报错。右边的类型通常为左边类型的子类)。即使没有报错,一旦右边实际真
阅读全文
摘要:####概念:同一方法可以根据发送对象的不同而采用多种不同的行为方式。 1、一个对象的实际类型是确定的,但可以指向对象的引用的类型有很多 ####多态存在的条件: 1、有继承关系 2、子类重写父类方法 3、父类引用指向子类对象 ######注意:多态是方法的多态,属性没有多态性 ######stat
阅读全文
摘要:####重写是方法的重写与属性无关 重写是子类对父类的允许访问的方法的实现过程进行重新编写, 返回值和形参都不能改变。即外壳不变,核心重写! 重写的好处在于子类可以根据需要,定义特定于自己的行为。 也就是说子类能够根据需要实现父类的方法。 重写方法不能抛出新的检查异常或者比被重写方法申明更加宽泛的异
阅读全文
摘要:####super用于子类调用父类方法(private保护的方法除外) ####子类默认会调用父类的无参构造器(在子类无参构造器的第一行中应为super()) 1、注意如果父类定义了有参构造器那么子类便无法调用默认的无参构造器,解决方法应当给父类写出显式的无参构造器,或者子类调用父类构造器时添加参数
阅读全文
摘要:####继承的本质是对某一批类的抽象,从而实现对现实世界更美好的建模。 1、extends的意思是扩展。子类是夫欸的扩展 2、Java中类只有单继承,没有多继承(一个儿只有一个父亲,但一个父亲可有多个儿子) 继承是类和类之间的一种关系。除此之外类和类之间的关系还有依赖,组合,聚合等。 继承关系的两个
阅读全文
摘要:####程序设计追求高内聚低耦合。 1、高内聚:类的内部数据操作细节自己完成,不允许外部干涉 2、低耦合:仅暴露少量的方法给外部使用 #####封装 通常应禁止 直接访问一个对象中数据的实际表示,而应通过操作接口来访问。 ####封装的好处(意义) 1、提高程序的安全性,保护数据 2、隐藏的代码实现
阅读全文
摘要:####首先要明确Java内存的个位置上放的是啥 #####类、对象、实例三者的关系: ######1.类:是对象的模板,可以实例化对象。(this不能出现在静态方法中) ######2.对象:类的个体。 ######3.实例:实现的对象。 ######4、对应的引用: 引用类型:基本类型(8) 对
阅读全文
摘要:####mybatis通过反射来获取mapper,反射通常需要无参构造方法和getset方法,而我当时new student的时候想偷懒,就写了个有参构造方法。结果就没了无参构造方法,就会报错。
阅读全文
摘要:###类中的构造器也成为构造方法,是在进行创建对象的时候必须调用的,并且构造器有以下两个特点: 1、必须和类名字相同 2、必须没有返回类型也不能写void public class Demo06 { //一个类即使什么也不写,它也会存在一个方法 //显示的定义构造器 String name; //实
阅读全文
摘要:###以类的方式组织代码,以对象的方式组织(封装)数据 ####组织代码(类) public class Demo04 { String name;//默认值null int age;//默认值0 public void study() { System.out.println(this.name+
阅读全文
摘要:###传递对象 public class Demo03 { //引用传递:(实际上还是值传递)对于引用数据类型来说,传递的则是地址的副本(对象的地址)。但由于地址副本和原来的类似,因此传递过去后形参也只想同一个内存空间 public static void main(String[] args) {
阅读全文
摘要:###对比 public static void a(){ b(); }; public void b(){ a(); }; ####此时a方法里面调用b方法会报错,而b方法中调a不会报错是因为,a方法本身是static方法它和类一起加载时间片较早,而b是类实例化后才会存在,因此会报错
阅读全文
摘要:###稀疏数组的含义 ###Java实现代码 public static void main(String[] args) { int[][] arrays1=new int[11][11]; arrays1[1][2]=1; arrays1[2][3]=2; System.out.println(
阅读全文
摘要:###数组工具类java.util.Arrays ###Arrays类中的方法都是static修饰的静态方法,因此可以直接使用类名.方法名来调用,而不用通过new使用对象来调用(是“不用”不是“不能”) ###常用功能 ######1、个给数组赋值:fill方法 ######2、对数组升序排序:so
阅读全文
摘要:##Java冒泡排序实现 public static void main(String[] args) { int[] a={4,6,2,3,7,5,1,9,8};//初始化一个无序数组 int[] sort=sort(a); System.out.println(Arrays.toString(s
阅读全文
摘要:
阅读全文
摘要:##Java创建数组的方法大致有三种 ###一、声明并赋值 int[] arr = {1,2,4, …}; ###二、声明数组名开辟空间并且赋值 int[] arr; arr = new int[]{1,2,3, …}; ###三、声明数组时指定元素个数然后赋值 int[] arr1= new in
阅读全文
摘要:##加减乘除计算机的实现 public static void main(String[] args) { while(true) { System.out.println("依次输入要计算的2个数据"); Scanner num1 = new Scanner(System.in); Scanner
阅读全文
摘要:##Java简单递归操作 ###递归的结构包含两部分: ####1、递归头:什么时候不调用自生的方法。如果没有头将陷入死循环。 ####2、递归体:什么时候需要调用自身方法。 public static void main(String[] args) { int l=DG(10); System.
阅读全文
摘要:##Java传递可变参数如下 public static void main(String[] args) { //Demo07 demo07=new Demo07(); //demo07.test(1,2,3,4,5,6,7,8,9,10); test(1,2,3,4,5,6,7,8,9,10);
阅读全文
摘要:##重载实在一个类中,有相同的函数名称,但形参不同的函数 ###方法重载规则: 1、方法名称必须相同 2、参数列表必须不同(个数不同,或类型不同,参数排列顺序不相等) 3、方法的返回类型可以相同也可以不相同 4、仅仅返回类型不同不足以成为方法的重载 例如: public static void ma
阅读全文
摘要:#Java打印空心三角 public static void main(String[] args) { int n=5; //n表示输出空心三角形行数,这里以5行为例 for(int i=1;i<=n;i++) { for(int j=1;j<=n-i;j++) { //控制每行最前面的空格 Sy
阅读全文
摘要:#使用Java打印空心菱形 public static void main(String[] args) { int n = 5; //这里输出菱形的上半部分 for (int i = 1; i <= n; i++) { for (int j = 1; j <= n - i; j++) { //控制
阅读全文
摘要:#Java中的标签语法(少用) ##101到150的质数 ###此法类似于C语言中的GOTO循环 public static void main(String[] args) { int count=0; //标签定位点 label:for (int i = 101; i <=150; i++) {
阅读全文