抽象类与接口学习小结

抽象类:在某些类中某些功能 不能 定义具体的行为功能,这种功能称之为抽象功能,含有抽象功能的类,就称为抽象类。

抽象类的特点:抽象类和抽象方法必须用abstract关键字修饰

       抽象类的格式:   abstract class类名{}

       抽象方法的格式:  public abstract void 方法()

抽象类不一定含有抽象方法,有抽象方法的类一定是抽象类。

抽象类不能实例化,因为该类不是具体的实现类。

抽象类需要按照多态的形式,由具体的子类实例化。

抽象类的子类要么是抽象类,要么必须重写并实现抽象类中的所有方法。

抽象类是有构造方法的,但是不能进行实例化,构造方法的作用是用于子类访问父类数据时进行父类数据的初始化。

抽象方法的访问权限必须是public

抽象类的成员特点:

         成员变量:可以是变量或者常量

         构造方法:有构造方法,但是无法实例化。

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

                             抽象方法的作用:强制子类做自己的事情

                             非抽象方法:交由子类继承,提高代码的复用性。

抽象可以有静态变量,常量和静态方法。

方法的空实现并不等同于该方法是一个抽象方法。
多态的实现,是为了提高程序的可扩展性。

在软件开发中一般会定义一个空的类作为基类,便于组织和管理代码的体系结构。

软件分析的过程:从具体功能到抽象定义。

软件的实现过程:从抽象定义到具体功能。


抽象类的小问题

1. 抽象类不能用final修饰。抽象方法也不能用final修饰。

2. 抽象方法不能用private修饰。

3. 抽象方法不能用static修饰。


接口:用来表现一些特殊的功能的抽象叙述,交由实现接口的类完成接口中的方法。

接口的特点:

         接口用关键字interface表示

                   格式:interface 接口名{}

 

类实现接口的方式 calss 类名 implements 接口名{}

 

接口的实例化:接口不能直接实例化,需要按照多态的方式,由具体的子类进行实例化。接口也是多态的一种表现形式

 

实现接口的类,要么是抽象类,要么重写并实现了接口中的所有抽象方法。

 

接口中定义的变量默认都是用 public static

接口中定义的方法默认都是用public abstract 修饰的。

接口里面定义的内部类,接口默认都是用public static修饰的

接口可以继承接口。

接口里面可以没有任何成员,从而作为某种标示。

 

接口和抽象类的区别?

接口不能有非抽象方法和 非静态变量。

 

接口的抽象类实现没有实际的意义。

 

多态的三种表现形式:具体类多态  抽象类多态   接口多态



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值