2.26学习笔记

java

接口是特殊的抽象类,接口中的方法只能是抽象方法,java8在接口进行了改进,允许定义默认方法(必须用default修饰)。
接口是定义某一批类的规范,是抽象的,不在意类里面的细节,不在意实现方法。
接口可以有多个父接口,但是接口不能继承类,只能继承接口接口里不能包含构造器和初始化块。
接口主要作用:1.定义变量,也可以用于强制类型转换;2.调用接口中定义的常量;3.被其他类实现继承用extends实现用implements
实现接口相当于实现类继承一个彻底抽象的类利用接口可以实现多继承。
接口类似于我们写作文之前写的总纲,对系统进行一个完整框架的构造。
面向接口编程的优点就像面向对象对于过程的优点,在修改时,只需要对接口进行修改,一改全改,不需要对每个对象的源代码去进行修改。
对于内部数据的处理,我们可以在接口定义一个方法去封装“处理行为”相当于下达命令,在类里面执行命令。
内部类具有更好的封装性,而有可以直接访问外部类的私密数据。
内部类比外部类多private,protected,static三种修饰符
非静态内部类必须寄生在外部类对象里
静态内部类寄生在外部类本身中,所以静态内部类的实例方法不能访问外部类的实例属性
局部内部类放在方法里定义只在该方法内起作用匿名内部类只能继承一个父类或实现一个接口,他不能是抽象类也不能定义构造器
局部、匿名内部类访问的局部变量必须用final修饰。
细节:如果类没有用修饰就默认只有在相同的包下才能访问

数据结构

插入排序:和冒泡排序的时间复杂度一样,它的排序方式和打牌时候摸牌有点像,先放入第一个数,然后接着放数,把放入的数插入合适的位置,在数组实现时,需要将两边的数组移位。
希尔排序:是把整个数组分为几个区间进行插入排序,下次吧区间再分的更细,直到区间为1,相当于插入排序的优化,但是由于有特殊的数组会是希尔排序失去效果导致优化失败,我们通常选择分区间的长度为特殊的值:Dk=2ek-1或者94ei-92ei+1或者4ei-3*2ei+1可以大大降低时间复杂度

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值