自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 接口

2、接口中的所有方法都是public方法,接口中的方法可以不用abstract修饰,因为都已经自动修饰了 如写了void a();设IG和IH分别为两个接口,并且teacher类实现了IG接口,如果IG继承IH接口,那么就相当于teacher类也实现了IH接口 (接口之间可以继承)3、一个普通类实现接口,就必须将该接口的所有方法都实现 (可以使用alt+enter来快捷实现) 并且该普通类可以直接使用接口中的属性。(可以有抽象方法,默认实现方法,静态方法)4、抽象类实现接口,可以不去实现抽象类中的方法。

2024-03-24 20:22:19 237 1

原创 抽象类

当父类的某些方法,需要声明,但是又不能确定如何实现时,就可以将该方法声明为抽象方法,那么这个类就叫做抽象类。7、如果一个类继承了抽象类,那么该类必须实现抽象类的所有抽象方法,除非它自己也声明为抽象类。抽象类的价值更多的作用是在于设计,是设计者设计好后,让子类继承并实现抽象类;4、abstract 只能修饰类和方法,不能修饰属性或者其余的。用abstract 来修饰抽象方法时,这个方法就是抽象方法。2、抽象类可以没有抽象方法,还可以有可以已实现的方法。3、一旦一个类包含了抽象方法,这个类必须声明为抽象类。

2024-03-24 20:21:49 304 1

原创 main/代码块/final关键字

在静态main方法中可以直接访问本类的静态对象和方法,无需类名.静态方法名的引用或者创建对象来引用。final修饰的属性在定义时必须赋予初值,赋值在定义时,在构造器中,在代码块中进行都可。如果final修饰的属性是静态的,则初始化的位置只能是在定义时或者在静态代码块中。final修饰的属性不能修改,final类不能被继承,但是可以实例化对象(创建。代码块分为两项,有static修饰的叫静态代码块,没有的叫普通代码块。2、如果多个构造器有相同的语句,可以抽取到代码块中,提高代码的复用性。

2024-03-24 20:21:18 249 1

原创 类变量(静态变量)和类方法(静态方法)

定义语法:访问修饰符 static 返回值类型 方法名(形参列表){};,任何一个该类的对象去访问它时,取到的都是相同的值,同样任何一个变量去修改它时,修改的也是同一个变量。类变量在类加载的时候就完成初始化了,所以即使没有创建相关对象,也能使用类方法。普通成员方法,即可以访问普通变量或方法,也可以访问静态变量或者方法。类变量的生命周期,是随着类变量的加载开始,随着类的消亡而销毁。类方法不允许使用和对象有关的关键字,比如this和super。调用:类名.类方法名 对象名.类方法名。注:类方法无法被重写。

2024-03-24 20:12:02 300 1

原创 多态的应用/多态参数/super关键字/方法重写(覆盖)

2、当子类中有和父类中的属性和方法重名时,为了访问父类的成员,必须通过super,如果没有重名,使用super ,this 直接访问的效果是一样的。此时无法使用子类的特殊方法,因为是运行类型,如果想用子类特有的方法,应该对该成员向下转型(此时需要结合instanceof 进行类型的判断)1、调用父类构造器的好处:分工明确,父类属性由父类初始化,子类的属性由子类初始化。子类方法的返回值类型和父类方法的返回值类型一样,或者是父类返回值类型的子类。super代表父类的引用,用于访问父类的属性,方法,构造器。

2024-03-24 20:11:16 189 1

原创 封装/继承/多态/instanceof

继承可以解决代码复用,当多个类存在相同的方法时,可以从这些类中抽象出父类,在父类中定义这些相同的属性和方法,所有的子类不需要定义这些属性和方法,只需要通过extends来声明继承父类即可。封装介绍:封装就是把抽象出的数据(属性)和对数据的操作(方法)封装在一起,数据被保护在内部,程序的其他部分只有通过被授权的操作(方法),才能对数据进行操作。子类必须调用父类的构造器,完成父类的初始化(创建子类构造器的时候,父类的构造器会被调用)注:animal的编译类型是Animal ,可以接收Animal子类的对象。

2024-03-24 20:10:15 416 1

原创 作用域(scope)/构造器/this关键字

3、属性的生命周期较长,伴随着对象的创建而创建,伴随着对象的销毁而销毁。局部变量生命周期较短,伴随着它的代码块的执行而创建,伴随着代码块的执行而销毁。2、this用来区分当前类的属性和局部变量(如局部变量名为name,属性名也为name,则用this.name来获取属性中的name)} 注:构造器的修饰符可以默认 构造器的方法名必须和类名相同 构造器没有返回值 构造器的调用由系统完成。5、this不能在类定义的外部使用,只能在类定义的方法中使用。3.3构造器的初始化 name=20;

2024-03-03 22:29:06 821

原创 方法重载/可变参数

使用可变参数时,可以当作数组来使用,即nums可以当作数组 可以通过nums.length查看数组元素的个数。2、参数列表:必须不同(参数类型或个数或顺序至少有一个不同,参数名不做要求)1、可变参数的实参可以为0个或任意多个 2、可变参数的实参的本质为。表示接收的是可变参数,类型是int ,即可以接收多个int。3、可变参数可以和普通类型的参数一起放在形参列表,但是可变参数必须。java 中允许同一个类中方法名相同,但是要求形参列表不同。可变参数:java允许将同一个类中多个同名同功能但。

2024-03-03 22:28:35 423

原创 递归执行机制

n=2 每一次方法的语句都要执行,执行顺序依照栈的调用顺序进行。5、当一个方法执行完毕,或者遇到return,就会返回,遵守谁调用,就将结果返回给谁,同时当方法执行完毕或者返回时,该方法也就执行完毕。2、方法的局部变量是独立的,不会相互影响,如上图中每个方法里的n变量。1、执行一个方法时,就创建一个新的受保护的独立空间(栈空间)递归就是方法自己调用自己,每次调用时传入不同的变量。

2024-03-03 22:27:58 456

原创 成员方法。

swap(a,b),再System.out.print("a="+a+"b="+b);一个方法最多有一个返回值,可以返回数组 (因此如果想要返回多个返回值,只需将数值存放在数组中,返回一个数组即可)参数类型即可以是基本类型,也可以是引用类型。2、跨类中的方法A类调用B类方法:需要通过对象名调用。比如:对象名.方法名(参数)1、同一个类中的方法调用:直接调用即可,如 print(参数);基本数据类型,传递的是值(值拷贝),形参的任何改变不影响实参。一个方法可以有0个参数,也可以有多个参数,中间用逗号隔开。

2024-03-03 22:27:27 419

原创 类与对象。

2、直接创建 Cat cat =new Cat();属性/成员变量/field(字段):类的组成部分,一般是基本数据类型,也可以是引用类型(对象、数组) 如class cat {int age;类即指一个宽泛的整体,如猫类,人类,箱子类等 而对象则精确到类中的某一个,如人类中的某一个人,他拥有属性和行为。1、栈:一般存放基本数据类型 2、堆:存放对象 3、常量池(如字符串) 、类加载信息(属性、行为(方法))属性的定义语法与变量相同:例:访问修饰符 属性类型 属性名。

2024-03-03 22:26:53 366

原创 数组的使用

二维数组可以理解为一维数组的每一个元素都是一个数组 其中arr[i]表示二维数组中的第i+1个元素,那么arr.length表示二维数组中一维数组的个数,即二维数组的元素个数,arr[i].length就表示为每一个一维数组的长度。语法:方式1:类型[][] 数组名=new 数据类型[大小][大小] 方式2:先声明 数据类型 数组名[][];每个一维数组的长度可以不同,可以单独开辟空间,如 int arr[][]=new int[3][]语法:数组名=new 数据类型[大小];

2024-02-04 21:46:00 549 1

原创 位运算/原反补码/switch/continue

1<<2,即00000001->00000100,本质:1*2*2。java中位运算符号:&(按位与)、|(按位或)、~(按位取反)、^(按位异或)、>>(右移)、<<(左移)、>>>(逻辑右移)2、表达式的数据类型应与case后的一致,或可以自动转换成可以相互比较的类型,如输入字符,而case后为int。3、负数的反码为原码除了符号位,其余全部取反,补码为反码+1。算术右移:低位溢出,符号位不变,并用符号位补溢出的高位。1、二进制的最高位表示符号位,0正1负。算术左移,符号位不变,低位补0。

2024-02-04 21:45:12 429 1

原创 标识符/键盘输入语句

3、变量名、方法名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写 如:tankShotGame。键盘输入:在编程中,需要接受用户输入的数据,就可以用键盘输入语句来获取,并且需要一个扫描器Scanner。步骤:1、导入该类所在的包java.util.Scanner 2、创建该类对象 3、调用里面的功能。//接收用户输入,使用了相关的方法。2、类名、接口名:多单词组成时,所有单词的首字母大写 如:TankShotGame。4、常量名:所有单词大写,多单词时每个单词用下划线连接。

2024-02-04 21:44:22 403 1

原创 运算符的说明

%运算:10%3=1,10%-3=1 -10%3=-1 -10%-3=-1(理解为剩余的数) 10除以-3得-3,剩下一个1。表达式1:表达式2 若条件表达式为true,则运行后的结果是表达式1,若为false,则运行表达式2。注:表达式1和表达式2要为可以赋值给接收变量的类型 如 int a =2>1?:关系运算符的结果都是boolean类型,要么是true ,要么是false。运算符是一种特殊的符号,用于表示数据的运算,赋值和比较等。逻辑或和短路或的区别:当第一个条件为真时,

2024-01-28 20:23:14 419

原创 API/字符编码表/数据类型转换

当有多种数据类型的混合运算时,系统首先自动将所有数据转换成容量最大的那种数据类型,然后进行计算。float a = n + 1.1的操作是错误的,自动类型转换:java程序在进行赋值或运算时,精度小的数据类型自动转换成精度大的数据类型 例:int a ='c' 或 double a = 80。强制类型转换:将容量大的数据类型转换为容量小的数据类型,使用时要加强制转换符( ),如 int a =(int)1.9n,可能造成数据溢出或者损失。基本类型转String类型: 语法:将基本类型的值+

2024-01-28 20:22:30 546

原创 路径/+号的使用/数据类型

0.112 与 .112等价 计算机中8.1/3的结果不为2.7,而是很接近2.7的一个值,因为8.1后的位数仍有任意值。通过相对路径查找文件,需要逐步返回到顶级目录,再逐步读取目录 例:cd ..\..abc\test1\htm1。java的小数常量默认为double型,如果想创建float型,应在数字后面加上f或F。java的整型常量默认为int型,如果想创建long型,应在数字后面加上l或L。绝对路径:从顶级目录(如D盘)开始定位,形成的一个路径。相对路径:从当前目录开始定位,形成的一个路径。

2024-01-28 20:21:48 459

原创 java转义字符

t:一个制表位,实现对齐的功能。

2024-01-21 20:18:44 515

原创 java的执行流程和注意事项

如果源文件包含一个public类,则文件名必须按该类名命名 例:若已经public class hello ,则文件名必须为hello.java。翻译:javac 是JDk提供的编译工具,我们可以通过这个工具把当前路径下的HelloWorld.java文件编译成class文件。.java文件(源文件)通过javac编译成.class文件(字节码文件),再通过java运行得到结果。运行:java也是jdk提供的工具,用于运行代码,在运行时不加后缀名。一个源文件最多只有一个public类,其余类个数不限。

2024-01-21 20:18:02 347

原创 CMD命令/环境变量

配置环境变量的原因:想要在任意的目录下都可以打开指定的软件,就可以把软件的路径配置到环境变量中。1、先配置JAVA_HOME(具体为新建系统变量,变量值填写文件路径,不带bin)java语言的跨平台性:一个编译好的.class文件可以在多个系统下运行。cd 目录:进入单集目录 例:cd itheima。2、再配置path,(%JAVA_HOME%\bin)cd 目录1\目录2\.. :进入多级目录。cd .. : 回到上一级目录。dir:查看当前路径下的内容。cd \:回退到盘符目录。

2024-01-21 20:17:27 816

空空如也

空空如也

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

TA关注的人

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