- 博客(44)
- 收藏
- 关注
原创 接口的使用
/** 接口的使用* 1.接口使用interface来定义* 2.Java中,接口和类是并列的两个结构* 3.如何定义接口:定义接口中的成员** 3.1 JDK7及以前:只能定义全局常量和抽象方法* >全局常量: public static final的,但是书写时,可以省略不写* >抽象方法: public abstract的* * 3.2 JDK8: 除了定义全局常量和抽象方法之外,还可以...
2021-05-07 22:23:39
170
原创 abstract关键字的使用
/** abstract关键字的使用* 1. abstract:抽象的* 2. abstract可以用来修饰的结构:类、方法** 3. abstract修饰类:抽象类* >此类不能实例化* >抽象类中一定有构造器,便于子类实例化时使用(涉及:子类对象实例化的全过程)* >开发中,都会提供抽象类的子类,让子类对象实例化,完成相关的操作** 4. abstract修饰方法:抽象方法* ...
2021-05-06 22:05:19
214
原创 final关键字的使用
/** final:最终的** 1.final可以用来修饰的结构:类、方法、变量** 2.final 用来修饰一个类:此类不能被其它类所继承。* 比如:String类、System类、StringBuffer类* * 3.final用来修饰方法:表面此方法不可以被重写* 比如:Object类中getClass();* * * 4.final 用来修饰变量:此时的“变量”就称为是...
2021-05-06 21:35:31
133
原创 属性可以赋值的位置
/** 对属性可以赋值的位置:* 1.默认初始化* 2.显示初始化 5.在代码块中赋值* 3.构造器初始化* 4.有了对象以后,可以通过“对象.属性”或“对象.方法”的方式,进行赋值* ** 执行的先后顺序:1 - 2 /5 - 3 - 4**/...
2021-05-06 21:07:35
105
原创 类的成员之:代码块
/** 类的成员之四:代码块(或初始化块)** 1.代码块的作用:用来初始化类、对象* 2.代码块如果有修饰的话,只能使用static* 3.分类:静态代码块 VS 非静态代码块*** 4.静态代码块* >内部可以有输出语句* >随着类的加载而执行,而且只执行一次* >作用:初始化类的信息* >如果一个类中定义了多个静态代码块,则按照声明的先后顺序执行* >静态代码块的执行要优先于非静态代码块的执行...
2021-05-06 21:05:32
57
原创 单例设计模式
/** 单例设计模式:* 1.所谓的单例设计模式,就是采取一定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例** 2.如何实现?* 饿汉式 VS 懒汉式*** 3.区分饿汉式和懒汉式* 饿汉式:* 坏处,对象加载时间过长* 好处,饿汉式是线程安全的* * 懒汉式:好处,延迟对象的创建* 目前的写法坏处,线程不安全---->到多线程内容时,在修改**/...
2021-05-06 20:34:07
44
原创 static关键字应用
/*编写一个类实现银行账户的概念,包含的属性有“帐号”、“密 码”、“存款余额”、“利率”、“最小余额”,定义封装这些 属性的方法。账号要自动生成。 编写主类,使用银行账户类,输入、输出3个储户的上述信息。 考虑:哪些属性可以设计成static属性。*///程序运行结果:...
2021-05-06 20:08:23
70
原创 static 关键字的使用
/** static 关键字的使用:** 1. static:静态的* 2. static可以用来修饰:属性,方法, 代码块 内部类*** 3.使用static修饰属性:静态变量(类变量)* 属性,按是否使用static修饰,又分为:静态属性 vs 非静态属性(实例变量)* * 实例变量:我们创建了类的多个对象,每个对象都独立的拥有一套类中的非静态属性。当修改其中* 一个对象中的非静态属性时,不会导致其他...
2021-05-06 20:02:50
71
原创 包装类练习题
/*** 利用Vector代替数组处理:从键盘读入学生成绩(以负数代表输入结束),找出 最高分,并输出学生成绩等级。 提示:数组一旦创建,长度就固定不变,所以在创建数组前就需要知道它的 长度。而向量类java.util.Vector可以根据需要动态伸缩。创建Vector对象:Vector v=new Vector();给向量添加元素:v.addElement(Object obj); //obj必须是对象取出向量中的元素:Object obj=v.elemen...
2021-05-06 00:45:38
127
原创 包装类的使用
/** 包装类的使用:* 1. Java提供了8种基本数据类型对应的包装类,使得基本数据类型的变量具有类的特征** 2.掌握:基本数据类型、包装类、String三者之间的相互转换*****/ // 基本数据类型--->包装类:调用包装类构造器// 包装类----> 基本数据类型: 调用包装类的xxxValue()//自动装箱与自动拆箱//基本数据类型、包装类--->String类型:...
2021-05-06 00:41:20
78
原创 JUnit单元测试
/*** Java中的JUnit单元测试** 步骤:* 1.选中当前工程 - 右键选择: build path - add libraries - JUnit 4 -下一步** 2.创建Java类,进行单元测试* 此时的Java类要求:1.此类是public的 2.此类提供公共的无参的构造器* * * 3. 此类中声明的单元测试方法* 此时的单元测试方法: 方法的权限是public,没有返回值,没有形参 ** 4.此单...
2021-05-05 21:42:53
63
原创 equals()方法的使用
/** == 和 equals() 区别** 一:==的使用* ==:运算符* 1. 可以使用在基本数据类型变量和引用数据类型的变量中* 2.如果比较的是基本数据类型变量:比较两个变量保存的数据是否相等(不一定类型要相同)* 如果比较的是引用数据类型变量:比较两个对象的地址值是否相同* * * * * 二、equals()方法的使用* 1.是一个方法,而非运算符* 2.只能适用引用数据类型 * 3.Object类中equa...
2021-05-04 23:13:54
6550
原创 面向对象特征之:多态性
/** 面向对象特征之三:多态性** 1.理解多态性:可以理解为一种事物的多种形态** 2.何为多态性:父类的引用指向子类的对象(或子类的对象赋给父类引用)** 3.多态的使用:虚拟方法调用* 有了对象的多态性以后,我们在编译期,只能调用父类中声明的方法,但在运行期,我们实际* 执行的是子类重写父类的方法。* 总结:编译看左边,运行看右边。* * 4. 多态性的使用前提:* 1.要有类的继承关系* 2.要有方法的重写...
2021-05-04 22:38:43
60
原创 super关键字的使用
/** super关键字的使用* 1.super理解为:父类的* 2.super可以用来调用:属性、方法、构造器** 3.super的使用:调用属性和方法* 我们可以在子类的方法或构造器中,通过使用"super.属性"或"super.方法"的方式,显示的* 调用父类中声明的属性或方法。但是,通常情况下,我们习惯省略"super."* * 特殊情况:当子类和父类中定义了同名的属性时,我们要想在子类中调用父类中声明的属性,则必须* 显示的使用"sup...
2021-05-03 23:39:23
118
原创 方法的重写
/** 方法的重写:(override / overwrite)** 1.重写:子类继承父类以后,可以对父类中同名同参数的方法,进行覆盖操作** 2.应用:重写以后,当创建子类对象以后,通过子类对象调用父类中的同名同参数的方法时,实际* 执行的是子类重写父类的方法** 3. 重写的规定:* 方法的声明: 权限修饰符 返回值类型 方法名(形参列表) throws 异常的类型{* * ...
2021-05-03 22:37:06
70
原创 面向对象的特征之:继承性
/** 一、面向对象的特征之二:继承性** 继承性的好处:* 1.减少了代码的冗余,提高了代码的复用性* 2.便于功能的扩展* 3.为之后的多态性的使用,提供了前提**** 二、继承性的格式: class A extends B{}* A:子类、派生类、subclass* B:父类、超类、基类、superclass** 体现:一旦子类A继承父类B以后,子类A中就获取了父类B中声明的所有的结构:属性、方法** 特别的,父类中声明为pr...
2021-05-03 22:07:21
231
原创 this关键字的使用
/** this关键字的使用:* this可以用来修饰:属性 方法 构造器*** this修饰属性和方法:* this理解为:当前对象或当前正在创建的对象** 在类的方法中,我们可以使用“this.属性”或“this.方法”的方式,调用当前对象属性或方法* 但是,通常情况下,我们都选择省略“this.”。特殊情况下,如果方法的形参和类的属性同名时,* 我们必须显示的使用“this.变量”的方式,表明此变量是属性,而非形参。*** 在类的构造器中,...
2021-05-03 21:25:18
239
原创 JavaBean
/** JavaBean 是一种Java语言写成的可重用组件** 所谓JavaBean,是指符合如下标准的Java类:* 类是公共的* 有一个无参的公共的构造器* 有属性,且有对应的get set方法****/...
2021-05-03 21:25:10
71
原创 属性赋值的先后顺序
/** 总结:属性赋值的先后顺序* 1.默认初始化* 2.显示初始化* 3.构造器中赋值* 4.通过“对象.方法”或“对象.属性”的方式,赋值*** 以上操作的先后顺序:1- 2 -3 -4***/...
2021-05-03 21:25:00
75
原创 类的结构之:构造器
/** 类的结构之三:构造器(或构造方法、constructor)的使用** 一、构造器的作用:* 1.创建对象* 2.初始化对象的属性*** 二、说明:* 1.如果没有 显示的定义类的构造器的话,则系统默认提供一个空参的构造器* 2.定义构造器的格式: 权限修饰符 类名(形参列表){}* 3.一个类中定义的多个构造器,彼此构成重载* 4.一旦我们显示的定义了类的构造器之后,系统就不在提供默认的空参构造器* 5.一个类中,至少会有一个构造器...
2021-05-03 21:24:50
80
原创 面向对象的特征一: 封装与隐藏
/** 面向对象的特征一: 封装与隐藏** 一、问题的引入:* 我们创建一个类的对象以后,我们可以通过“对象.属性”的方式,对对象的属性进行赋值。* 这里,赋值操作要受到属性的数据类型和存储范围的制约。除此之外,没有其他制约条件。* 但是,在实际问题中,我们往往需要给属性的赋值加入额外的限制条件,这个条件就不能在属性声明时* 体现,我们只能通过方法进行限制条件的添加。(比如:setLegs())* 同时,我们需要避免用户再使用“对象.属性”的方式对属性进行赋值。则需要将属性...
2021-05-03 21:24:40
71
原创 方法形参的传递机制:值传递
/** 方法形参的传递机制:值传递* * 1. 形参:方法定义时,声明的小括号内的参数* 实参:方法调用时,实际传递给形参的值** 2. 值传递机制:* 如果参数是基本数据类型,此时实参赋给形参的是实参真实存储的数据值* 如果参数是引用数据类型,此时实参赋给形参的是实参存储数据的地址值****/...
2021-05-03 21:24:28
134
原创 可变个数形参
/** 可变个数形参的方法** 1.jdk 5.0新增的内容** 2.具体使用:* 可变个数形参的格式:数据类型...变量名* * 当调用可变个数形参的方法时,传入的参数个数可以是:0个,1个,2个。。。。* * 可变个数形参的方法与本类中方法名相同,形参不同的方法之间构成重载* * 可变个数形参的方法与本类中方法名相同,形参类型也相同的数组之间不构成重载。换句话说,* 二者不能共存...
2021-05-02 15:18:35
95
原创 方法的重载(Overload)
/** 方法的重载(Overload)* 1.定义:在同一个类中,允许存在一个以上的同名方法,只要它们的参数个数或者参数类型不同即可** 2.举例:* Arrays类中重载的sort()/ binarySearch()* * "两同一不同":同一个类、相同方法名* 参数列表不同:参数个数不同,参数类型不同** 3.判断是否是重载:* 跟方法的权限修饰符、返回值类型、形参变量名、方法体都没有关系!** 4...
2021-05-02 15:04:49
63
原创 匿名对象的使用
/*匿名对象的使用* 1.理解:我们创建的对象,没有显示的赋给一个变量名。即为匿名对象* 2.特征:匿名对象只能调用一次* 3.使用:*/
2021-05-02 14:57:40
45
原创 对象数组练习题
/*定义类Student,包含三个属性:学号number(int),年级state(int),成绩 score(int)。 创建20个学生对象,学号为1到20,年级和成绩都由随机数确定。 问题一:打印出3年级(state值为3)的学生信息。 问题二:使用冒泡排序按学生成绩排序,并遍历所有学生信息 提示: 1) 生成随机数:Math.random(),返回值类型double; 2) 四舍五入取整:Math.round(double d),返回值类型long。*...
2021-05-02 14:06:16
87
原创 类中方法的声明和使用
/** 类中方法的声明和使用** 方法:描述类应该具有的功能。* 比如:Math类:aqrt()\random() \....* Scanner类:nextXxx()....* Arrays类:sort()\ binarySearch()\ toString()\ equals()\....**** 1.举例* public void eat() {}* public void sleep(int hour) {}* public ...
2021-05-02 13:28:21
293
原创 类中属性的使用
/** 类中属性的使用** 属性(成员变量) VS 局部变量* 1. 相同点* 1. 定义变量的格式:数据类型 变量名=变量值* 2.先声明,后使用* 3.变量都有其对应的作用域** 2.不同点:* 1. 在类中声明的位置的不同* 属性:直接定义在类的一对{}中* 局部变量:声明在方法内、方法形参、代码块内、构造器形参、构造器内部的变量* * 2. 关于权限修饰符的不同* 属性:可以在声明属性时...
2021-05-02 12:25:00
148
原创 类和对象的使用
/**一、设计类,其实就是设计类的成员* 属性= 成员变量= field = 域、字段* 方法= 成员方法= 函数 = method** 创建类的对象=类的实例化=实例化类*** 二、类和对象的使用(面向对象思想落地的实现)* 1.创建类,设计类的成员* 2.创建类的对象* 3.通过“对象.属性”或“对象.方法”调用对象的结构** 三、如果创建了一个类的多个对象,则每个对象都独立的拥有一套类的属性。(非static的)* 意味着:如果我们修...
2021-05-02 10:58:36
62
原创 数组中的常见异常
/** 数组中的常见异常:* 1. 数组角标越界的异常:ArrayIndexOutOfBoundsExcetion*** 2.空指针异常:NullPointerException****/
2021-05-02 10:43:38
77
原创 数组的复制、反转、查找(线性查找,二分法查找)
//数组的复制// 数组的反转//数组的查找(或搜索) // 线性查找//二分法查找// 前提:所要查找的数组必须有序
2021-05-02 10:27:26
60
原创 使用二维数组打印一个 10 行杨辉三角
/** 使用二维数组打印一个 10 行杨辉三角。 【提示】* 1. 第一行有 1 个元素, 第 n 行有 n 个元素* 2. 每一行的第一个元素和最后一个元素都是 1* 3. 从第三行开始, 对于非第一个元素和最后一个元* 素的元素。即:* yanghui[i][j] = yanghui[i-1][j-1] + yanghui[i-1][j];***/程序运行结果:...
2021-05-01 23:01:38
602
原创 二维数组的使用
/** 二维数组的使用* 1.理解:对于二维数组的理解,我们可以看成是一维数组array1又作为另一个一维数组array2的* 元素而存在。从数组底层的运行机制来看,其实并没有多维数组。** 2. 二维数组的使用:* 1.二维数组的声明和初始化* 2.如何调用数组指定位置的元素* 3.如何获取数组的长度* 4.如何遍历数组* 5.数组元素的默认初始化值* 6.数组的内存解析***/...
2021-04-30 22:59:16
149
1
原创 一维数组的使用
/*升景坊单间短期出租4个月,550元/月(水电煤公摊,网费35元/月),空调、卫生间、厨房齐全。 屋内均是IT行业人士,喜欢安静。所以要求来租者最好是同行或者刚毕业的年轻人,爱干净、安静。*/***********************************************************************************************************************************************..
2021-04-30 22:31:45
113
1
原创 数组的概述
package com.atguigu.java;/** 一、数组的概述* 1.数组的理解:数组(Array),是多个相同类型数据按一定顺序排列的集合,并使用一个名字命名,* 并通过编号的方式对这些数据进行统一管理。* * 2.数组相关的概念:* >数组名* >元素* >角标、下标、索引* >数组的长度:元素的个数** 3.数组的特点:* 1. 数组是有序排列的* 2. 数组属于引用数据类型的变量。数组的元素,既可以...
2021-04-30 22:19:34
147
1
原创 break和continue关键字的使用
/*break和continue关键字的使用: 使用范围 循环中使用的作用(不同点) 相同点break: 使用范围: switch-case 结束当前循环 关键字后面不能声明执行语句 循环结构中continue: 使用范围...
2021-04-30 21:29:04
192
1
原创 嵌套循环的使用
/* 嵌套循环的使用 1. 嵌套循环:将一个循环结构A声明在另一个循环结构B的循环体中,就构成了嵌套循环 2. 外层循环:循环结构B 内层循环:循环结构A 3.内层循环结构遍历一遍,只相当于外层循环体循环执行了一次 4. 假设外层循环需要执行m次,内层循环需要执行n次。此时内层循环的循环体一共执行了m*n次 5.技巧:外层循环控制行数,内层循环控制列数 */class ForforTest{ public static voi...
2021-04-30 21:17:45
1821
2
原创 do-while循环的使用
/*循环结构的四个要素1.初始化条件2.循环条件----是boolean类型3.循环体4.迭代条件do-while循环结构语法格式①初始化部分;do{③循环体部分④迭代部分}while(②循环条件部分);执行过程:①-③-④-②-③-④-②-③-④-...②说明:do-while循环至少执行一次循环体。开发中,使用for和while更多一些,较少使用do-while*/class DoWhileTest{ public sta...
2021-04-30 21:01:48
427
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人