- 博客(232)
- 收藏
- 关注
原创 python解决报错TypeError: can only concatenate str (not “datetime.datetime“) to str
将java中的System.out.println()括号内容的拼接方法带入到python中,导致代码无法运行。即为将'+'替换为','
2024-01-28 17:27:32
850
原创 【java】334-341面向对象编程(OOP)实操——零钱通案例,体会面向对象和面向过程的区别
注意:虽然可以在while里面直接进行loop的修改,不过还是建议尽量分为两步,因为这样可以提高程序的扩展性,比如以后你如果在这个功能要接收用户的其他输入的时候方便扩展,同时增加了代码的可读性。从编程角度看很明显,写不符合要求的输入判断比写符合要求的输入判断简单得多而且这些条件不是互相关联的,完全可以一个if判断一条。直接把前面的功能放进去稍作改动即可(把结尾的break删去,然后把if中的break换为return)因此从错误的输入的角度出发,仅需三行代码。先在上面添加好空的Sting的消费原因。
2024-01-18 21:58:54
944
原创 【java】327~333断点调试
在开发中可以使用断点调试来一步一步地执行程序,进而发现程序在执行过程中的错误,因此断点调试又叫debug在看别人的程序的时候可以用debug一步一步看代码的作用,有助于更清晰地理解别人的代码标注一个断点,程序从断点开始一步一步执行,遇到错误就停下,可以进行分析进而找到bug断点调试可以帮助我们找到java底层源代码执行的过程,有助于提升程序员的java水平。
2024-01-02 18:21:38
862
原创 【JavaScript】3.js编写位置
此时不管内部写的什么,一律不会执行了,如果需要执行里面的内容,再添加一个标签进去就行。然后在需要用到的文件的THML里面引入(写在head里面,推荐使用)
2023-12-30 20:27:54
384
原创 【JavaScript】2.JS的helloword
Chrome 版本120.0.6099.130。通过三种方法实现输出hello world。
2023-12-30 13:55:51
491
原创 318,319,320,321-==和Equalas比较,如何查看JDK的源码以及重写Equlas方法
可以看到,这里就是这个方法的具体实现细节,上面的意思是判断接收到了两个比较对象是不是一个内存地址,如果是就返回ture,如果不是就进一步比较里面的内容,可见equals不同与==之间的区别是不仅判断了两者是否为一个对象(比较的是对象的内存地址),还判断了两者的内容是不是一样的,通过下面的代码可以看出。然后你可以看到如果只是Object里面的equlas是只去判断两者的内存地址是否一样, 不同的类里面这个方法的判断方式还是有一点差别的。这个是String里面的,这里面把方法重写了,变成了判断值是否相等。
2023-12-29 12:35:43
513
原创 317-多态参数
定义员工类Employee,包含姓名和月工资[private],以及计算年工资getAnnual的方法。普通员工和经理继承了员工,经理类多了奖金bonus属性和管理manage方法,普通员工类多了work方法,普通员工和经理类要求分别重写getAnnual方法测试类中添加一个方法,testWork,如果是普通员工,则调用work方法,如果是经理,则调用manage方法。
2023-12-28 17:27:41
421
原创 315-多态数组
数组的定义类型为父类类型,里面保存的实际元素类型为子类类型举例:1.现有一个继承的结构为下图,创建1个Person对象,2个Teacher,1个Student放在数组中,调用say方法2.如何调用子类的特殊方法,比如Teacher中有一个teach Student里面有一个study。
2023-12-28 16:14:54
507
原创 314-动态绑定机制
3.现在我注释了B中的那么,现在第一个输出的式子就在B 中找不到sum,到A中去寻找,到了A中发现还需要找getl()那么,getl()里面的数字从哪里拿呢,是回到B中拿B中运行的结果还是在A中“就近”拿去一个结果,答案是从A中拿取。2.如果我现在注释了B中的sum1,那么现在就遇到了动态绑定,即sum与父类进行了绑定,用了父类的属性和方法,输入了40 20。简单来说,入乡随俗,从到达哪里就尽可能利用这里面的资源完成内容的组织,输出。1.我现在直接执行的话很显然从B开始执行里面的方法。
2023-12-27 21:08:26
411
原创 311-方法的重写问题
2.比较操作符instanceOf可以用来对象的运行类型是否为xx类型或xx的子类型。这样执行结果肯定是false,因为Object不可能为它下面的子类的子类。1.属性没有重写之说,属性的值看编译类型。
2023-12-27 20:40:15
398
原创 309,310-向上转型,向下转型
编译类型看左边,运行类型看右边(也就是从右边的那个子类开始向上找)比如上面的代码,直接从父类里面引用了个Cat出来。语法:子类类型 引用名字 = (子类类型)父类引用;可以调用父类的所有成员(但是前提是需要遵循访问权限)本质:父类的引用指向了子类的对象(挟天子以令诸侯)要求父类的引用必须指向的是当前的目标类型的对象。只能强转父类的引用,不能强转父类的对象。最终运行效果看子类的具体实现。可以调用子类类型中所有的成员。不能调用子类的特有成员。
2023-12-27 20:23:30
366
原创 308-多态快速入门
比如现在你有一个Animal类,有各种各样的小动物继承了这个类,然后又让你创建一个方法,输出叫了哪个动物来。不用你以后导入Dog类,Cat类……这个可以直接调用继承Animal的子类?
2023-12-27 18:05:04
432
原创 306-方法的多态
方法或对象具有多种状态,是面向对象的第三大特征,多态是建立在封装和继承的基础之上的方法重载可以体现多态总结:可以利用父类的引用指向子类的对象比如这个例子,后面new才是真正的对象,前面的(编译类型为Animal运行类型为Dog)
2023-12-27 17:55:01
353
原创 305-养宠物引出多态
现在用一个食物类,一个动物类,一个主人类,实现调用主人类给动物喂食,其中动物类有猫和狗,食物类有骨头和鱼,最后用poly实现一下代码。
2023-12-17 16:53:36
52
1
原创 304-方法重写练习
编写一个Person类,包括属性/private (name、age),构造器、方法say(返回自我介绍的字符串)编写一个Student类,继承Person类,增加id、score属性/private,以及构造器,定义say方法(返回自我介绍的信息)。在main中,分别创建Person和Student对象,调用say方法输出自我介绍。
2023-12-17 15:29:47
78
原创 301-方法重写介绍
简单的说:方法覆盖(重写)就是子类有一个方法,和父类的某个方法的名称、返回类型、参数一样,那么我们就说子类的这个方法覆盖了父类的方法。这时我们就说 Dog的cry方法,重写了Animal的cry方法。比如我现在在一个目录下创建了Animal类和Dog类。此时在Animal里面已经能看到IDEA给的提示了。
2023-12-17 14:23:31
48
原创 300-super使用细节3
super和this之间的区别 this super 访问属性 访问本类中的属性,如果本类中没有此属性,则从父类中继续查找 从父类开始查找属性 调用方法 访问本类中的方法,如果本类没有此方法则从父类继续查找 直接访问父类中的方法 调用构造器 调用本类构造器,必须放在构造器的首行 调用父类构造器,必须放在子类构造器的首行 特殊 表示当前对象 自雷中访问父类的对象
2023-12-17 14:14:41
48
原创 299-super使用细节2
super去访问爷爷类的成员;如果多个基类(上级类)中都有同名的成员,使用super访问遵循就近原则。A->B->C(B继承A)super的访问不限于直接父类,如果爷爷类和本类中有同名的成员,也可以使用。
2023-12-17 14:09:34
50
原创 298-super使用细节1
3) 如果父类没有,则继续找父类的父类,整个规则,就是一样的,直到 object类。如果查找属性的过程中,找到了,但是不能访问, 则报错,cannot access。1) 先找本类,如果有,则调用(如果使用super则直接跳过这一步进入第二步)2) 如果没有,则找父类(如果有,并可以调用,则调用)如果查找属性的过程中,没有找到,则提示属性不存在。n1 和 this.n1 查找的规则是。
2023-12-17 12:42:59
46
原创 293-继承本质详解
java: hobby 在 com.humouren.extend.Father 中是 private 访问控制。在前面的笔记里面已经写了这个方法了,那就是写一个get方法。显然上面的运行结果为大头儿子。跳过接着向上查找吗?
2023-12-17 09:26:59
61
原创 291-继承使用细节4
按一下Ctrl+H可以看下当前类的继承关系,从里面就能看到你的所有方法都是Object类的就连经常用的Scanner也是Object类的。
2023-12-16 21:13:04
48
原创 288-继承使用细节1
1.子类继承了所有的属性和方法,但是私有属性和方法不能在子类直接访问,要通过公共的方法去访问,也就是说让父类去调用,然后通过一个公共方法展示出来,类比你不能问老板问题,但是你可以让老板秘书(也属于老板办公室的)给你传递问题和回答。
2023-12-16 17:38:18
66
原创 287-继承快速入门
比如我现在要分别统计小学生,中学生,大学生的信息,那么我可以先创建一个student的类,把需要用到的学生信息先放进去。之后再创建中学生,大学生……就也像这样不用自己再创建name等属性,之间继承Student就行。比如这里面的age就不用你再创建变量了,因为它会自己从Student里面拿。现在我创建一个小学生的类,继承一下Student类。下面演示下如果用继承可以比以前节省的功夫。
2023-12-16 16:46:42
53
原创 286-继承原理图
继承可以解决代码复用,让我们的编程更加接近人类的思维,当多个类存在相同的属性(变量)和方法的时候可以从这些类中抽象出父类,在父类中定义这些相同的属性和方法,所有的子类不需要重新定义这些属性和方法只需要通过ecxtends来声明继承父类即可。
2023-12-16 15:43:22
51
原创 285-为什么需要继承
现在有一个方法里面放着录入,输出小学生的信息的系统,同时还有一个录入并输出大学生的信息的系统,如果他们的特点是都要学生的姓名,考试成绩。如果你写出来会发现有很多的重复,这大大的提升了代码的冗余度,现在好的是有继承功能可以帮你降低代码的冗余度,提到代码的复用性。
2023-12-10 21:10:01
41
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人