首页 > 代码库 > java基础知识回顾之面向对象
java基础知识回顾之面向对象
一 . 抽象类
什么是抽象类?很简单,就是用abstract关键字修饰,并允许包含未实现方法的类。
什么时候定义抽象类?在有些情况下,可能有些方法无法确定要怎么实现,这时就可以定义抽象类,无法实现的方法定义成抽象方法。
抽象类的特性:
1. 不能实例化,即不能创建对象,只能作为父类被继承。
2. 子类继承一个抽象类后,必须实现父类的抽象方法。
3. 抽象类中可以有抽象方法,也可以不包含抽象方法,但如果包含抽象方法,就必须定义成抽象类。
public abstract class Shaoe{ private String color; public void setColor(String color){ //declare method this.colot = color; } //declare abstract method public astract double area(); public astract double perimeter(); }
二 . 接口
什么是接口?接口是方法声明和常量值定义的集合。
什么时候定义接口?在某些情况下,整个类的所有方法都不确定怎么实现,这个时候就要定义成接口。接口其实是一组标准,其他类可以基于此标准做不同的实现。
接口特性:
1. 接口只包含常量(属性)定义和方法声明,属性编译后即常量,因此i必须属性赋初值。
2. 其他类实现接口是,必须实现接口中的全部方法。
3. 一个类可以实现多个类。
4. 定义接口是可以继承,接口之间可以多继承。如public interface A extends B,C{}.
代码实例:
public interface DB{ public int MAX = 50; public void conection(); public void disconnection(); }
三 . 多态
什么是多态?简单点说,多态就是:父类 a = new 子类(...); 或 接口 a = new 实现类(..);
多态带来最大的好处就是是程序更加的灵活。
例如ArrayList类中的add(Object obj)方法,参数类型是Object,因此可以传入任何一个类的对象,而不用为每一种类定义一种方法。
四. 自由块
自由块,又叫初始化块,在对象创建时会先调用,主要完成初始化的操作。
在这里主要说一下初始化块与静态初始化块之间的区别:
非静态初始化块主要用于初始化对象,在每次对象创建时都要调用一次,其执行在构造方法之前。
静态初始化块,用static关键字修饰,主要用于初始化静态变量和静态方法。而且只调用一次,就是在类第一次加载到内存时调用,并非一定要创建对象。