补充:
1.设计规则:①:将派生类共有的属性和行为,抽到超类中-----抽共性
②:若派生类的行为/代码都一样,设计为普通方法
若派生类的行为/代码不一样,设计为抽象方法(abstract修饰)
③:将部分派生类共有的行为/代码,设计为接口
接口是对继承单根性的扩展,实现多继承
接口是一种标准、规范,若实现了某接口就具备某个功能,若不实现接口就不具备
2.不包含抽象方法的类同样可以被声明为抽象类,但同样不能实例化
一、抽象方法和抽象类
1.abstract修饰抽象方法,只有方法的定义,没有具体的实现
2.类中出现抽象方法,类也必须用abstract修饰
3.抽象类不能被实例化(new对象)
4.抽象类是需要继承的,派生类中抽象方法重写
5.意义:①:封装共有的属性和行为,实现代码复用
②:可以包含抽象方法,为所有派生类统一入口(名字统一),强制必须重写
二、接口
1.是一种引用数据类型(目前学了三种:数组,类,接口)
2.由interface(接口)定义:interface Inter{ 抽象方法(常量、默认方法、静态方法、私有方法) }
3.不能被实例化
4.接口是需要被实现的,实现类:必须重写接口中的所有抽象方法(实现:implements)
注意:重写接口中的方法时,必须加public
5.一个类可以实现多个接口。若又继承又实现,先继承后实现
6.接口可以继承接口
三、引用类型数组
1.数组元素为引用类型的数组
2.给引用类型数组的元素赋值时,需要new个对象
3.访问引用类型数组元素的属性/行为时,需要打点调用
四、null
1.表示空,没有指向任何对象
2.若引用的值为null,则不能进行任何点操作,