类、抽象类、接口

1.类
变量(静态和非静态)
常量方法(静态和非静态)
构造方法
游离块
静态块
内部类(静态和非静态)
2.抽象类
类中可以定义抽象类都可以定义
抽象方法
特点:不能创建对象,不是因为没有构造器或者构造器私有
3.接口
① 接口的概念
接口是功能的集合,同样也是一种引用数据类型,是比“抽象类” 更为抽象的类
接口只描述所应具备的方法,并没有具体的实现。
个人认为:接口是一种身份的象征,例如实现Runnable接口,你就是一个线程类;实现Cloneable接口,就可以克隆;实现 Comparable<引用类型>,就可以比较
② 接口的特点
1. 接口中定义变量(公有静态常量),默认是 public static final修饰 其值不能改变 基本数据类型, 值不能改变 引用数据类型,地址不能改变
2. 接口中定义抽象方法,抽象方法可以省略掉 public abstract JDK1.8以后可以定义 static 方法 和 default 方法
3. 接口不可以创建对象。
4. 实现类,必须实现接口中所有的抽象方法,才能创建对象。 若不想实现接口中的所有的抽象方法,可以选择把自己定义成抽象类
5. 类 与 类 单继承 extends 一个 子类 只能拥有 一个 父类
类 与 接口 多实现 implements 一个实现类,可以实现多个接
接口 与 接口 多继承 extends 一个接口可以继承多个 父接口
一个类 同时继承一个父类,实现多个接口
③接口 和 抽象类的区别
相同点: 都是位于继承的顶端,用于被其他类继承或者实现 都不能实例化对象(都不能创建对象) 都可以定义抽象方法,其子类(实现类)实现这些抽象方法
不同点:
类、抽象类、接口