2022 07 26 第三小组 陈迪 学习笔记
抽象方法必须在抽象类里:
-
1.当我们定义一个抽象类,有属性,成员方法,构造器,抽象方法,常量
-
2.抽象类可以没有抽象方法,如果没有抽象方法,尽量别写抽象类
-
3.抽象类不能被直接实例化,抽象类不能创建对象(需要依靠子类采用向上转型的方式处理)
-
4.抽象类构造器存在的意义
-
为了约定子类的构造器要与父类的匹配
-
5.一个类如果继承了抽象类,这个类不是抽象类,必须重写抽象类所有的抽象方法
-
(如果子类没有实现父类的抽象方法,必须将子类也定义为abstract)
-
abstract修饰:类、方法
-
抽象方法不能用private修饰,基本都是public,偶尔用protected,默认情况是可以的
-
抽象方法不能用final修饰
-
抽象类不能用final修饰
接口:
-
比抽象类更高级的抽象
-
声明:使用interface关键字,不能有属性,不能有方法
-
(静态的常量,静态方法)
-
只能定义抽象方法,不能有属性,可以有默认方法和静态方法,静态常量
-
抽象类是比类更高级的抽象
接口中结构特点:
-
接口中的抽象方法默认是public abstract 推荐省略
-
接口中的常量默认是public static final 推荐省略
-
接口中的结构必须是public
存在的意义:
-
约定
-
面向对象编程
-
面向接口编程
-
面向切面编程
多态的前提条件:
-
1.继承、实现
-
2.重写方法
-
3.父类---子类 接口---实现类
面试题:
在java中有多继承,在接口中
在java类中只有单继承
继承类和实现接口的异同?
抽象类和接口的区别?
-
栈和队列:
栈和队列是两种操作受限的线性表
这种受限表现在:
栈的输入和删除只允许在表的尾端进行(在栈中叫做"栈顶"),满足FILO
First In Last Out
队列只允许在表位插入元素,在表头删除元素,FIFO First In First Out
栈与队列相同点:
1.都是线性结构
2.插入操作都是在尾部进行
3.都可以通过顺序结构和链式结构实现
栈和队列的不同点:
1.队列,先进先出,栈先进后出
重点:结合多态,参数的传递,配合instanceof使用
在能够使用多态的情况,尽量使用多态
心得体会:
今天学习了抽象,对这里的内容了解较好,可以做出老师留的练习题,虽然不太熟练,以后要继续努力。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」