接口和内部类的一些定义

1.接口中可以定义:属性接口中的属性,默认都是静态常量,访问权限都是public

。方法接口中的方法,默认都是抽象方法,访问权限都是public。

 注意:一般接口中不写成员变量,只写方法,相当于制定规则,所以又将接口称为方法列表接口的作用让java从单继承间接的实现了多继承,扩充了原来的功能,我们可以认为接口是类的补充.

2.4.1.2. 接口和抽象类的异同

相同点都可以编译成字节码文件。都不能创建对象。

都可以声明引用。

都具备Object类中所定义的方法。

都可以写抽象方法。

不同点

接口中所有的属性,都是公开静态常量,缺省使用 public static final 修饰

。接口中所有的方法,都是公开抽象方法,缺省使用 public abstract 修饰。

接口中没有构造方法、构造代码段、静态代码段。

3// 非抽象类实现接口,必须重写实现接口中所有的抽象方法

3.2// 抽象类实现接口,接口中的抽象方法,可以实现,也可以不实现

abstract class MyInterfaceAbstractImpl implements MyInterface {}

3.3如果两个接口中定义了两个同名、同参数的方法,但是返回值不同。那么类是没有办法同时实现这两个接口的。

3.4如果有多个相同的方法只需要实现一个;

4.1多态

体现与类相同,向上转型后的接口的引用,调用接口中的方法的时候,实际调用的是实现类中的重写实现。

4.2(了解)

static方法:可以在接口中定义静态方法,静态方法不是抽象方法,是有实现部分的。同时,这个静态方法,只能由当前的接口名字调用,接口的引用和实现类都是不能使用的。

代 `

default方法:修饰接口中的方法,default修饰的方法可以添加默认的实现部分。此时,实现类在实现接口的时候,对于这些方法可以重写,也可以不重写。

4.3 内部类(了解)

内部类,按照定义的位置和修饰符不同,

可以分为:

成员内部类

静态内部类

局部内部类

匿名内部类

4.2.2. 成员内部类(会)

4.2.2.1. 概念 定义在一个类的内部的类.内部类的地位与外部类的成员变量,成员方法平等,内部类也可以看做是外部类的成员,成员之间可以相互调用

 4.2.2.2.

使用 外部类的一个成员部分,创建内部类对象时,必须依赖外部类对象。

Outer outer = new Outer();

Inner inner = outer.new Inner();

Inner inner1 = new Outer().new Inner();

4.2.2.3.

特点 书写位置:与属性、方法平级别,且没有使用static修饰的类。

访问权限:内部类可以是任意的访问权限。

成员内部类中,不能写静态属性、静态方法。

编译之后生成的字节码文件格式:外部类$内部类.class

实例化对象,需要借助外部类的对象完成。

4.3

4.2.5.4. 创建匿名子类对象

创建方式第一种方式:使用已有的子类创建匿名子类对象

第二种方式:直接使用Animal创建匿名子类对象

 示例代码1使用场景:已经创建好的子类可以多次使用,适用于相同的功能被多次调用构成: new + 父类的名字/接口的名字 + () + {写当前子类的成员} + ;

使用场景:只能使用一次,使用完会被当做垃圾回收,适用于每次都使用不同的功能

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值