一、标准类的创建:
1 成员变量
- private封装
- get和set方法
2 构造方法
- 无参构建
- 含参构造(创建对象、赋值)
3 成员方法
- 根据本类的业务提供一些方法
- 提供方法用于展现本类的类名以及本类所有属性和属性值
4 创建对象时间:
- 使用无参构造构建对象, 使用set方法赋值
- 使用含参构造,创建对象并赋值(部分参数,及全部参数)
二、接口
1 定义
接口不是类而是对类一组需求的描述,制定建立规则,符合标准都可以共用。
2 创建方法
格式:
// 修饰符 interface 接口名 {代码块}
public interface ExampleInterface {
}
特点:接口中
3 使用
通过子类实现来使用:
- 子类是抽象类
- 子类是普通类,需要实现全部抽象方法
实现格式:
// 修饰词 [abstract] 类名 implements 接口名 {}
public class IFImplement implements ExampleInterface {
}
注意:
- 一般接口的多态对象与接口的实现类对象功能一致所以很少使用接口创捷多态对象。
- 接口一般优先于类,先有接口,再有实现类。(程序设计时先设计接口,再设计类)
4 接口特点
- 使用interface创建接口,使用implement实现接口
- 接口实现的方式:一是抽线类实现,而是普通类实现
- 普通类实现接口时,必须实现类中的所用抽象方法
- 接口中的方法一般是抽象方法
- 类的方法会自动拼接public abstract关键字。所以可以简写
- 接口中没有成员变量,所定义的变量自动拼接
public static final
成为常量 - 接口中没有构造方法。实现类构建对象时super()默认调用父类的构造器,而非接口的。
- 接口可以多继承、多实现
- 接口不是类,不能实例化
- 接口中静态方法,默认方法 可以有方法体。默认方法是方便接口的拓展,兼容之前的程序。
6. 思考
如何面向接口编程?
三 接口,类,抽象类之间的关系。
1.抽象类与接口比较
- 抽象类也是一个特殊的类,被
abstract
修饰,可以存在抽象方法,接口不是类。没有普通方法 - 抽象类有构造方法,接口没有
- 抽象类有成员变量,接口没有
- 抽象类只能单继承,接口可以多继承
- 抽象类和接口都不可以构建对象
- 抽象类是后天构建,接口时先天设计(设计思路的区别)
2.抽象类与类的关系
- 继承关系,单继承,
is-a
- 子类会继承父类的所有资源除了构造方法
- 子类不能使用父类的私用资源,由于私有不可见
- 子类不改变父类功能的前提下,通过重写实现功能的扩展,(重写原则:两同两小一大)
3. 接口与接口的关系
- 继承关系,单继承或多继承
- 接口实现类,要实现接口所有的抽象方法及接口继承的抽象方法。
4. 类与接口的关系
- 实现关系,单实现或多实现
- 实现类是抽象类,或者普通