自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(75)
  • 收藏
  • 关注

原创 常用类——Object类

返回此Object的运行时类。返回的类对象是被表示类的static synchronized方法规定的对象。2.public final Class getClass() 返回的是该对象的类对象。1.public int hashCode() 返回对象的哈希码值。这个值和地址有关系,但是这里返回的地址值并不是实际的地址值。支持这种方法是为了散列表,如HashMap提供的那样。注意:这里的哈希码值是根据哈希算法计算出来的一个值。所有类都直接或者简洁的继承自该类。2.Object类的方法。

2023-05-13 20:55:47 165

原创 匿名内部类

想一想,现在的接口中,只有两个方法,方法的个数比较少,每调用一个方法,都要new一下,并且new出来的东西都是一样的。2.根据main方法中调用完method方法以后还能继续调用方法,我们判定method方法是有返回值的。3.再观察后发现,show()方法恰好是Inter2接口中的方法返回值类型是接口Inter2类型的。1.前提:存在一个类或者接口(这里的类可以是具体的类,也可以是抽象类)如果以后接口中的方法有很多的时候,再用这样的方法就很麻烦。class Outer { //补齐代码 }

2023-05-13 20:07:39 202

原创 成员内部类,局部内部类

1.内部类的概述:把类定义在其他类的内部举例:在类A中定义了一个类B,类B就是内部类2.内部类的访问特点:内部类可以直接访问外部类的成员,包括私有的外部类要访问内部类的成员,必须创建对象。

2023-05-11 16:30:52 219

原创 package,import,class的顺序关系

import:导入外界你想要使用的类,它最终以你想要导入的那个类结束。(在package和class之间)class:表示定义一个类,java的最基本的单位。package:到达的路径,所在文件的路径,它最终以包结束。1)package语句必须是程序的第一条可执行的代码。2)package语句在一个java文件中只能有一个。3)如果没有package,默认表示无包名。1.导包概述:不同包下的类之间的访问。2.包的作用:对类进行分类管理。1.包的概述:其实就是文件夹。1)这种方式导入是到类的名称。

2023-05-11 10:22:37 1148

原创 形式参数和返回值问题

1.当类作为方法的形式参数的时候,实际上需要的是该类的地址2.当抽象类作为形式参数传参的时候,实际上需要的是该类子类实现对象的地址值,利用多态的形式创建3. 当接口作为形式参数传参的时候,实际上需要的是该接口的实现类对象的地址值,利用接口多态的形式创建。

2023-05-10 22:42:15 44

原创 分层的思想

dao:具体对数据做操作的地方,一般情况下,都是对数据库做操作的。将代码进行分类开发,会提高我们开发效率和排错效率。service:一般在这里放的是接口,和实现类。bean:一般存放的是将来要new的实体类。controller:一般是数据的入口类。将来我们更多的时候是面向接口开发。

2023-05-10 22:14:51 35

原创 抽象类与接口的区别

抽象类:成员变量可以是常量也可以是变量;成员方法可以是抽象方法也可以是非抽象方法。类与类:继承关系,只能单继承,不能多继承,可以多级继承。类与接口:实现关系,可以是单实现,也可以是多实现。接口:成员变量只能是常量,成员方法只能是抽象的。接口与接口:继承关系,可以单继承,也可以多继承。

2023-05-10 22:11:37 43

原创 类与类,类与接口,接口与接口的关系

实现关系,可以是单实现,也可以是一次性实现多个接口,也可以在继承一个类的同时,实现多个接口。存在继承关系,只能进行单继承,不能进行多继承,但是可以是多级继承。存在继承关系,可以进行单继承,也可以进行多继承。3.接口与接口的关系。

2023-05-10 22:03:13 69

原创 接口知识点

继续回到前面的猫狗案例。现在有很多的驯养师可以训练出:猫钻火圈,狗跳高等。而这些额外的动作,并不是所有的猫或者狗一开始就具备的。所以,这些额外的工作定义到动物类中就不太合适,也不适合直接定义到猫或者狗中,因为只有部分猫或者狗具备这样的功能。所以,为了体现事物功能的扩展性,java中就提供了接口来定义这些额外的功能,并不给出具体实现,将来哪些猫狗需要被培训,只需要这些猫狗把额外功能实现即可。

2023-05-10 21:52:02 60

原创 抽象类知识点

我们之前所说的猫,狗,熊猫,狮子等等都是动物具体的例子,而动物本身是一个抽象的概念。实际上,抽象的东西不能本身不应该被实例化。并且动物中吃的方法应该也不是一个具体的实现,以及所有动物共同拥有的方法在动物中应该都是抽象的表现。现在,我们把一个不具体的功能,叫做,而一个类中如果有抽象方法,这个类就称作。

2023-04-13 11:46:38 140

原创 多态知识点总结

某一个事物,在不同时刻表现出来的不同状态。

2023-04-13 10:08:20 117

原创 final关键字

1.在方法内部,修饰基本数据类型的变量,变量值只能赋值一次,不能发生改变。有些时候,我们不想让子类覆盖重写父类中的方法或者共嗯,只能让子类去使用。引用的地址值不可以发生改变,但是该对象的堆内存中的值是可以发生改变的。2.修饰成员变量,变量就变成了常量,并且只能被赋值一次,,可以修饰类,成员变量,成员方法,不能修饰构造方法。注:自定义常量:被final修饰变量变成自定义常量。3.修饰成员方法,方法不能被重写。2.修饰引用数据类型的变量,在构造方法完毕之前赋值即可。1.修饰类,类不能被继承。

2023-04-11 14:58:14 35

原创 父类中的静态成员被所有子类共享

【代码】父类中的静态成员被所有子类共享。

2023-04-11 14:16:49 143

原创 方法的重写

子类中出现了和父类中一模一样的方法声明,也被称为方法覆盖,方法重写使用特点:如果方法名不同,就调用对应的方法如果方法名相同,最终使用的是自己的。

2023-04-11 14:12:52 60

原创 继承——extends关键字,super关键字

通过。

2023-04-11 11:29:10 1058 1

原创 代码块介绍

在java中使用{}括起来的代码被称为代码块,根据其位置和声明的不同,可以分为局部代码块,构造代码块,静态代码块,同步代码块(多线程学习)在方法中出现,限定变量的生命周期,及早释放,提高内存的利用在同一个类中的同一个方法中,如果存在多个局部代码块,执行顺序是自上而下的(在创建对象的时候调用)定义在类中方法外,每次调用都执行当一个类中即存在构造代码块,又存在构造方法的时候,在创建对象的时候,会先执行构造代码块,再执行构造方法构造代码块 --> 构造方法。

2023-04-10 15:50:48 101

原创 Math类,random(),猜数字小游戏

1.Math类概述:是属于java.lang包下的,所以将来使用的时候不语言导包。其包含用于执行基本数学运算的方法,如指数,对数,平方根和三件函数。1.使用Math类中的random()方法获取一个随机数,经过转换得到1-100之间的数random。因为它的成员都是被static修饰的,可以直接通过。4.多给几次机会,直到猜中,由于不知道要猜多少次,用while循环。获取随机数,返回一个double值,为正数,大于等于0.0,小于1.0。3.将我们猜的数据与随机生成的数据进行比较。

2023-04-10 14:57:39 204

原创 类与对象的练习题

(4)根据类 Student 的定义,创建五个该类的对象,输出每个学生的信息,计算并输出这五个学生 Java 语言成绩的平均值,以及计算并输出他们 Java 语言成绩的最大值和最小值。在建立类的实例时把以上三个信息都作为构造函数的参数输入,其中用户 ID 和用户密码时没有缺省,而email地址缺省的时候。构造方法与重载:定义一个网络用户类,要处理的信息有用户 ID、用户密码、email地址。getName():获得姓名;getSex():获得性别;getNo():获得学号;getAge()获得年龄;

2023-04-10 14:26:50 60

原创 制作帮助文档

d 输出帮助文档的目录 需要手动创建。格式:javadoc -d 生成帮助文档的目录 -author -version 工具类的java文件。第一步:在创建的工具类ArrayTool所在文件夹创建一个新的文件夹(例如:doc),用来存放生成的帮助文档。param——调用方法需要传入的参数。第五步:以上表示文档已经生成,在文件夹doc下。1.先写一个工具类,例如:ArrayTool。3.输入你想要查找的类,例如:Scanner。先在我们把数组相关的都放到一个类里面,通过。

2023-04-10 13:51:20 325

原创 static关键字

然后看显示赋值(没有,跳过),继续看构造方法赋值("张杰",42,"中国")(country赋值:按照静态标记0x01找到静态成员变量country,把中国赋给它)(假设在堆中创建对象的地址值为0x0001),有个隐含的this指向0x0001这个区域。但是我们选的几个人的国籍都是中国,这样我们每次在创建的时候,都会在堆内存中开辟这样的成员变量的内存空间。Human的静态区内容:静态的成员变量country(随着类的加载而加载,此时默认值为null),静态的成员方法(假设这一部分地址值为0x01)

2023-04-10 12:39:50 53

原创 类的初始化过程——Student s = new Student();在内存中做了哪些事情

4.对学生对象的成员变量进行默认初始化(系统给默认值)7.学生对象初始化完毕,把对象地址值赋值给s变量。1.加载Student.class文件进内存。6.通过构造方法对学生对象的成员变量赋值。5.对学生对象的成员变量进行显示初始化。3.在堆内存中为学生对象开辟空间。2.在栈内存中为s开辟空间。

2023-04-10 09:05:39 125

原创 面向对象的练习题

2.定义一个长方形类,定义求周长和面积的方法,然后再定义一个测试类Test2,进行测试。

2023-04-10 08:59:58 102

原创 构造方法介绍

2)使用带参数的构造方法给私有的成员变量赋值,这里需要与this关键字配合使用。(这就是为什么我们在之前从来没写过构造方法,但是我们依旧可以创建对象的原因)1)如果你不提供构造方法,系统会给出默认构造方法。1)使用setXxx(...)给私有成员变量赋值。3)成员方法:getXxx()和setXxx()2)如果你提供了构造方法,系统将不再给出。2)构造方法:无参构造方法和有参构造方法。4)show():打印所有的成员变量值。1)成员变量:被private修饰。3)构造方法也是可以重载的。

2023-04-10 08:03:01 73

原创 this关键字在内存中存在的地方

一开始创建出来的对象,系统给默认值:name=null,age=0,gender=null(假设在堆中创建对象的地址值为0x0001),初始化值全部都有结束以后,将地址值0x0001赋给变量d(变量d就能通过地址值找到对象在堆内存中的区域)Doctor2.class的方法:getXxx(),setXxx(),show()(假设这一部分地址值为0x001)DoctorDemo2.class的方法:main()(假设这个方法区的地址值为0x002)把每个class文件的方法加载到class文件区。

2023-04-09 21:45:08 47

原创 封装——private关键字,this关键字

1.封装概述:是指隐藏对象的属性和实现细节,仅对外提供公共访问方式2.好处:隐藏实现细节,提供公共的访问方式提高了代码的复用性提高安全性3.封装原则:将不需要对外提供的内容都隐藏起来把属性隐藏,提供公共方法对其访问1.将成员变量使用private修饰2.提供getXxx()和setXxx()方法3.提供一个方法打印所有的成员变量值(先自己定义,后面我们会学习新的方法替代)//定义成员变量//提供公共的getXxx()和setXxx()brand = s;price = a;

2023-04-09 17:45:08 96

原创 匿名对象介绍

当匿名对象使用完毕之后,无法再使用第二次,就变成一个垃圾(当栈中没有变量引用它的时候,判定为一个垃圾),等待被垃圾回收器回收。当调用多次的时候不适合,每次new的时候都是一个新的匿名对象,会频繁的在堆内存中开辟空间。2.当方法的参数类型是一个类的时候。匿名对象:就是没有名字的对象。1.当仅仅调用一次方法的时候。

2023-04-09 14:27:37 148

原创 形式参数问题

【代码】形式参数问题。

2023-04-09 14:10:38 144

原创 成员变量和局部变量的区别

方法中使用的变量,会先在方法内部查找,如果方法内部没有,就去成员变量中查找。局部变量:随着方法的调用而存在,随着方法的调用完毕而消失。局部变量:没有默认的初始值,必须先定义,赋值,才能使用。成员变量:随着对象的存在而存在,随着对象的消失而消失。1)局部变量的名字可以和成员变量的名字一样,在方法中使用的时候,采用。2) 方法和方法之间里面的局部变量,不能相互调用。成员变量:有默认的初始化值。成员变量:类中方法外。2.在内存中的位置不同。1.在类中的位置不同。

2023-04-09 13:48:24 79

原创 创建两个对象的内存图解——方法的共用

p1通过地址值(0x0001)找到堆内存中的对象区域中的方法区的标记0x001,找到sendMessage()方法,然后将sendMessage方法加载到栈中来执行,结束以后,等待回收垃圾。p1通过地址值(0x0001)找到堆内存中的对象区域中的方法区的标记0x001,找到listenMusic()方法,然后将listenMusic方法加载到栈中来执行,结束以后,等待回收垃圾。p1.call("雷军");p1通过地址值(0x0001)找到堆内存中的对象区域,把"白色"赋给color。

2023-04-09 13:20:03 57

原创 类与对象的关系

注意:之前定义修饰符的时候,使用public static,而现在,由于还没有学习static的作用,现在先去掉static,只用public,直到学到了static。我们学习编程语言,就是为了模拟现实世界事物,实现信息化。成员方法:eat(),sleep(),study()...成员变量:name,gender,age...属性:五官,姓名,年龄,性别...对象名.成员方法名(...);行为:吃饭,学习,说话...属性:颜色,材质,形状,容积。属性:姓名,性别,年龄...行为:吃饭,睡觉,学习...

2023-04-09 10:49:07 36

原创 面向对象思想

前面我们完成一个需求的步骤:首先是我们要搞清楚做什么,然后再分析怎么做,最后代码实现。这样一步步去实现,而具体的每一步都需要我们去实现和操作。这些步骤相互调用和协作,完成我们的需求。那么什么是面向过程开发呢?面向过程开发,其实就是面向着具体的每一个步骤和过程,把每一个步骤和过程完成,然后由这些功能方法相互调用,完成需求。面向过程的代表语言:C语言1.什么是面向对象的思想?面向对象的思想是基于面向过程的思想发展而来的2.面向对象的特点1)是一种更符合我们思想习惯的思想2)可以将复杂的事情简单化。

2023-04-09 09:52:07 100

原创 数据加密题目3

首先将数据倒序,然后将每位数字都加上5,再用和除以10的余数代替该数字,通过分析后,我们发现为了方便计算,我们采用数组存放这些数据,然后再进行加密.某个公司采用公用电话传递数据信息,数据是小于8位的整数,为了确保安全,请注意给定一个小于8位的整数,然后,把加密后的结果在控制台打印出来.由于数据长度不可能是大于8位的,我们就把数组长度定义为8。2.将数据每一位赋值在数组中,定义一个索引记录赋值的变化。b.将每位数字都加上5,再用和除以10的余数代替该数字。//题目要求一开始将数据倒序,我们按照反方向赋值。

2023-04-09 08:40:21 129

原创 数据加密题目2

加密算法是:密钥是字符’8‘,明文的每个字符和密钥进行异或运算,得到密文。密钥和密文的每个字符再次进行异或运算,重新得到明文。利用“异或”运算的性质,对几个字符进行加密并输出密文,然后再解密。加密前原文:十点进攻。解密后原文:十点进攻。

2023-04-09 08:24:19 86

原创 数据加密题目1

某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。

2023-04-08 22:15:26 115

原创 经典题目4——打印杨辉三角

3)给其他元素进行赋值,从第三行开始,除去第一列和最后一列,其余列上的数是它上一行前一列和上一行本列之和。1)首先定义一个二维数组,行数可以是n,列数也可以定义成n,这个n将来可以是我们手动输入的。2)从第三行开始,除去第一列和最后一列,其余列上的数是它上一行前一列和上一行本列之和。2)给这个二维数组中任意一行的第一列和最后一列赋值1。——遍历数组时内循环的判断条件语句写错。1)任意一行的第一列和最后一列都是1。

2023-04-08 22:07:18 239

原创 二分查找的实现

step1:在查找开始之前,定义好start,end,mid三个指针,start指向0索引,end指向length-1索引,1.二分查找的前提:序列必须是有序的,换句话说,在进行二分查找之前,一组数必须是排过序的,或者本身就是有序的。a.如果比它小,start不变,end=mid-1,mid=(start+end)/2。step2:拿mid指向的那个元素与要查找的元素进行比较,如果相同,查找到元素,结束查找。当这个时候mid指向元素值还是不等于要查找的值的时候,说明该序列中没有要查找的元素,

2023-04-08 21:41:45 85

原创 冒泡排序的实现

第一次32,2比较之后的结果为 2,32,46,13,60。第二次32,46比较之后的结果为 2,32,46,13,60。第三次46,13比较之后的结果为 2,32,13,46,60。第四次46,60比较之后的结果为 2,32,13,46,60。第一次2,32比较之后的结果为 2,32,13,46,60。第二次32,13比较之后的结果为 2,13,32,46,60。第三次32,46比较之后的结果为 2,13,32,46,60。

2023-04-08 19:51:26 23

原创 引用数据类型和基本数据类型作为参数的区别

引用数据类型当作参数传递时,不会修改原来的值。引用数据类型当作参数传递时,会修改原来的值。基本数据类型传递的是实际的值。引用数据类型传递的是地址值。

2023-04-08 14:25:34 106

原创 经典题目3——switch语句练习

星期一 星期二 星期三 星期四 星期五 星期六 星期日。则继续判断第二个字母。例如如果第一个字母是S,则继续判断第二个字母,如果第二个字母是a,则输出“星期六”。星期的英文单词如下表所示。请根据英文单词的第一个字母判断星期几,如果第一个字母是一样的,

2023-04-08 13:55:39 538

原创 经典题目2——将某个十进制数转换成对应的二进制数输出

【代码】经典题目2——将某个十进制数转换成对应的二进制数输出。

2023-04-08 13:42:41 28

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除