- 博客(20)
- 收藏
- 关注
原创 Java-接口与抽象类的对比
3、一个类继承抽象类,或者实现接口都必须重写完他们的抽象方法,否则自己要成为抽象类或者报错!3、一个类继承抽象类就不能再继承其他类,一个类实现了接口(还可以继承其他类或者实现其他接口)1、抽象类中可以定义类的全部普通成员,接口只能定义常量抽象方法(JDK8新增的三种方法)2、都是派生子类形式,抽象类是被子类继承使用,接口是被实现类实现。1、都是抽象形式,都可以有抽象方法,都不能创建对象。2、抽象类只能被类单继承,接口可以被类多实现。4、都能支持多态,都能够实现解耦合,
2025-06-18 16:32:03
164
原创 Java-接口
私有方法:private修饰,jdk9开始才有,只能在接口内部被使用。默认方法:使用default修饰,使用实现类的对象调用。静态方法:static修饰,必须用当前接口名调用。JDK8开始,接口新增了三个方法。
2025-06-18 16:05:32
141
原创 Java-枚举类
枚举类的构造器都是私有的(写不写都是只能是私有的),因此枚举类不能创建对象。枚举类种的每一行,只能写枚举类的对象名称,且要用逗号隔开。这些名称,本质是常量,每个常量都记住了枚举类的一个对象。名称1,名称2,.....;修饰符 enum 枚举类名{枚举类很适合做信息分类和标志。
2025-06-17 12:05:58
140
原创 Java-单例类(设计模式)
饿汉式第一次拿对象很快,懒汉式第一次拿对象现创建,延迟加载对象。懒汉式只调用类中的方法,不用对象时,不用创建。一个模式有n种解法,其中肯定有一种解法是最优的,这个最优的解法被人总结出来了,成之为设计模式。把类的构造器私有(对外才不能创建太多的对象,才有单例对象的可能性)定义一个类方法,返回对象(提供一个静态方法返回唯一对象)单例设计模式:作用:确保每个类只能创建一个对象。3、提供一个静态方法,保证返回的是同一个对象。饿汉单例:拿对象时,对象已经创建好了。定义一个类变量记住类的一个对象。1、解决了什么问题?
2025-06-16 14:17:01
122
原创 java-final
程序编译后,常量会被“宏替换”:出现常量的地方全部会被替换成其记住的字面量,这样保证使用常量和直接使用字面量性能一样。final修饰引用类型的变量,变量存储的地址不能改变,但地址所指向的内容可以被改变。使用了static final修饰的成员变量被称为常量。修饰方法:该方法被称为最终方法,特点是不能被重写了。final不允许被继承,工具类推荐用final修饰,修饰类:该方法被称为最终类,特点是不能被继承了。final修饰基本类的变量,变量的数据不能被改变。修饰变量:该变量有且仅能被赋值一次。
2025-06-16 11:59:39
221
原创 Java-面向对象-static-简易版电影信息展示系统
movies[1] = new Movie(2,"《战狼2》","¥200","吴京");movies[2] = new Movie(3,"《战狼3》","¥300","吴京");movies[3] = new Movie(4,"《战狼4》","¥400","吴京");movies[4] = new Movie(5,"《战狼5》","¥500","吴京");movies[0] = new Movie(1,"《战狼》","¥100","吴京");//1、设计电影类,以便创建电影对象,封装电影数据。
2025-03-25 17:59:18
444
原创 Java-面向对象-static
/规范:如果这个功能只是为了做一个功能,且不需要直接访问对象的数据,直接定义成静态方法。//3、实例方法中可以出现this关键字,静态方法中不可以出现this关键字。//1、静态方法中可以直接访问静态成员,也可以直接访问实例成员。//2、实例方法中可以直接访问静态成员,也可以直接访问实例成员。//2、实例方法中不可以直接访问静态成员,可以访问实例成员。2、实例方法中既可以直接访问静态成员,也可以直接访问实例成员。1、静态方法中可以直接访问静态成员,不可以直接访问实例成员。//1、类名.静态方法(推荐)
2025-03-25 17:25:27
886
原创 Java-面向对象-封装
System.out.println("姓名:"+name+"平均成绩:"+(chinese+math)/2);System.out.println("姓名:"+name+"总成绩:"+(chinese+math));//2、如何暴露(合理暴露),使用public修饰(公开)的get和set反复大合理暴露。//目标:搞清楚封装的设计思想,合理隐藏,合理暴露,学会如何隐藏和暴露。System.out.println("年龄不合法");面向对象的三大特征:封装、继承、多态。封装的设计要求:合理隐藏、合理暴露。
2025-03-25 11:10:43
274
原创 Java-面向对象-this关键字
System.out.println(this.name+"喜欢"+name);//不加this则是唱歌喜欢唱歌。是什么:this就是一个变量,可以用在方法中,来拿当前对象;哪个对象调用哪个方法。//目标:认识this关键字,搞清楚this关键字的应用场景。//this是一个变量,现用方法中,用于拿到当前对象。//哪个对象调用这个方法,this就拿哪个对象。s3.printHobby("唱歌!this应用场景:主要解决:变量名称冲突问题。
2025-03-25 10:46:44
235
原创 Java-面向对象-对象是什么?
对象是一个特殊的数据结构(可以理解成一张表)。对象是new出来的,有了类就可以创建出对象。2、方法:描述对象有什么功能,也就是对数据有什么操作。方法区:放class文件,将Test.class main 放进去,调用方法。1、变量,用来说明对象可以处理什么数据。class也就是类,称为对象的设计图(或者对象的模板)栈内存:main方法的实现 存放对象的地址。public class 类名{堆内存:放数据,String name。栈内存、堆内存、方法区。
2025-03-25 09:35:10
177
原创 Java-面向对象-存储两个学生信息,打印出学生的总成绩和平均成绩
/ System.out.println(sc1.name+"的总成绩是:"+sc1.total+",平均成绩是:"+sc1.avg);// System.out.println(sc2.name+"的总成绩是:"+sc2.total+",平均成绩是:"+sc2.avg);System.out.println(sc1.name+"的总成绩是:"+sc1.total+",平均成绩是:"+sc1.avg);sc1.name = "张三";sc2.name = "李四";
2025-03-25 09:09:42
319
原创 Java-二维数组-数字华容道的初始化和随机乱序
/遍历到的当前数据:arr[i][j]//定义一个临时变量存储m p位置。//目标:完成数字华容道的初始化和随机乱序。//再把ij的数据存给mp。//把mp的数据存给ij。//1、定义一个二维数组存储数字列表。//2、遍历二维数组,给二维数组赋值。//3、打乱二维数组中的元素顺序。
2025-03-24 17:49:31
454
原创 Java-二维数组-打乱班级位置
{"吴二十一", "郑二十二", "孙二十三"},{"周二十四", "吴二十五", "郑二十六"},{"孙二十七", "周二十八", "吴二十九"},{"郑三十", "孙三十一", "周三十二"},{"王十二", "李十三", "赵十四"},{"孙十五", "周十六", "吴十七"},{"郑十八", "孙十九", "周二十"},{"周九", "吴十", "郑十一"},{"张三", "李四", "王五"},{"赵六", "钱七", "孙八"},//3、把一维数组还原成二维数组。//2、打乱一维数组。
2025-03-24 17:46:49
464
原创 Java-二维数组-学生排位置
/初始化二维数组存储学生姓名,考虑位置不规则,直接定义每排的座位。//初始化二维数组存储学生姓名,考虑位置不规则,直接定义每排的座位。{"陈十二","褚十三","卫十四"},{"陈十二","褚十三","卫十四"},{"蒋十五","沈十六","韩十七"}{"吴九","郑十","冯十一"},{"吴九","郑十","冯十一"},{"张三","李四","王五"},{"赵六","孙七","周八"},{"张三","李四","王五"},{"赵六","孙七","周八"},//访问2:数组名[行索引][列索引]
2025-03-24 16:46:15
448
原创 pip install fastai时出现ERROR: Could not install packages due to an OSError: [Errno 2] No such file or
pip install fastai时出现[Errno 2] No such file or directory: 'd:\\app\\anaconda\\envs\\py37\\lib\\site-packages\\typing_extensions-4.0.1.dist-info\\METADATA'出现这种情况,可能是你的site-packages文件下有两个相同的typing版本 因为我们只需要把未出错的文件下的文件复制到出错文件下就可。...
2022-06-17 15:08:16
1164
原创 excel中将两列交叉合并为一列
选择简单的方法,就是直接从excel表格中复制到word文档中,带格式粘贴,然后选中表格,选择布局,点击转换为文本,选择段落标记,就能直接成为交叉的一列,然后复制到excel中即可。当然这是对小数据而言的。对于大批量数据,可以在第三列第一个空白处,插入公式:=OFFSET(A$1,INT((ROW(A1)-1)/2),MOD(ROW(A1)-1,2))公式表示:以A1单元格为基准,以INT((ROW(A1)-1)/2)为向下偏移的条件,以MOD(ROW(A1)-1,2)为向右偏移的条件,得到一列
2022-01-23 23:30:18
8724
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅