第六天学习笔记

抽象

1抽象类和抽象方法有关知识点

a.用关键字abstract标识,抽象类中可以有抽象方法和非抽象方法,但是有抽象方法必为抽象类

b.抽象类中的抽象方法没有具体功能,由子类重写或者继承。子类必须重写抽象父类的方法或者它本身也是抽象类。

c.抽象类不能实例化,

具体代码:

要点:

接口

接口:

变量:只能是常量,默认修饰词为public static final  (三者都可省略,系统默认就是这三个修饰词的) 命名规则:全大写,单词之间用下划线—隔开。

构造方法:没有

成员方法:可以是抽象的,也可以是非抽象的。

实现:不管实现了几个接口,实现类都是要重写的,否则报错

类和类:类和类只能单继承,对于继承来说,有一个隐藏的规则(父类中的子类需要是同一种事物,比如乒乓球和篮球的那个练习)

接口和类:类可以实现多个接口,也可以在继承一个类后实现多个接口,当继承的类中和接口中方法相同,会优先实现接口的类。

接口和接口:可以单继承,也可以多继承。

接口中的方法:default方法

a.在接口中定义了一个方法,继承类实现,倘若还需要在接口中定义方法,子类实现还需要改变,这个时候就可以用default方法

public default 返回值 方法名(参数){};

b.默认方法不是抽象方法,不要求重写,但是当需要重写的时候,不能加default

c.public 可以省略,default不能

d.倘若实现了多个接口,多个接口存在相同名字的默认方法,子类就必须对该方法进行重写。否则实现类不知道该实现哪个方法。

接口中的方法:

a.接口中的方法可以是静态的,也可以是非静态的。静态的方法只能通过接口名称调用,不可通实现类对象调用接口。

b.私有方法:在接口中抽取公共代码组成私有方法

普通私有方法:private 返回值类型 方法名称(参数列表){方法体}

静态私有方法:private static 返回值类型 方法名称(参数列表){方法体}

注意:privite 的方法只有接口自己才能调用,不能被实现类或别人使用。

适配器设计模式

a.在一个接口中,我们会有很多抽象方法,如果其他类要实现这个接口中的某个方法,我们就要实现这个类的所有抽象方法,不利于代码的书写和阅读,采用适配器模式,很好地解决了这个困难

b.先用一个抽象类实现这个接口,再让原有的实现类去继承这个抽象类,最后实现这个方法即可。

内部类

知识点:内部类一般是作为外部类的一个组成部分出现,单独出现没有意义。内部类可以直接访问外部类成员,包括私有。外部类访问内部类成员必须实例化。

改正方法

1.内部类:就是在类里面再定义一个类

修饰词有:private,默认,protected,public,static

怎么获得内部类?

a.倘若内部类被private修饰:写一个方法获取内部类,用外部类调用

b.如果是public修饰,则直接可以new出来。

outer.Inter oi = new outer().new Inter();

成员内部类怎么获得外部类中的内容

10:outer.this.a(外部类通过这种方式引用)

20. this.a (传递的就是内部类对象)

30:a  (就近一致原则)

匿名类:常常用做测试的时候使用,以往写类和接口的时候,要先定义一个类去接受接口或者抽象类,很麻烦,使用匿名类则可以简单地进行测试(需要注意的是,其实new出来的是一个对象,所以可以直接去使用它)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值