加强网站建设会,南通市规划建设局网站,西安模板网站建设套餐,简洁企业网站源码博主#xff1a;命运之光 专栏#xff1a;Java零基础入门 学习目标 1.了解什么是抽象类#xff0c;什么是接口#xff1b; 2.掌握抽象类和接口的定义方法#xff1b; 3.理解接口和抽象类的使用场景#xff1b; 4.掌握多态的含义和用法#xff1b; 5.掌握内部类的定义方法… 博主命运之光 专栏Java零基础入门 学习目标 1.了解什么是抽象类什么是接口 2.掌握抽象类和接口的定义方法 3.理解接口和抽象类的使用场景 4.掌握多态的含义和用法 5.掌握内部类的定义方法和使用方法 目录
多 态
多态的体现
多态的优点
内 部 类
成员内部类——非静态
成员内部类——静态
局部内部类
匿名内部类
面向接口编程
总结 多 态
多态的体现
多态性是面向对象中重要的概念通俗的说多态是指实现接口的多个类或一个父类的多个子类虽然有相同的方法但是具有不同的表现方式。
多态性在开发之中可以体现在两个方面
方法的多态性重载与覆写
重载同一个方法名称根据不同的参数类型及个数可以完成不同的功能覆写同一个方法根据实例化的子类对象不同所完成的功能也不同。
对象的多态性父子类对象的转换
向上转型子类对象变为父类对象向下转型父类对象变为子类对象。
多态的优点
可维护性
基于继承关系只需要维护父类代码提高了代码的复用性大大降低了维护程序的工作量
可扩展性
把不同的子类对象都当作父类看待屏蔽了不同子类对象间的差异做出通用的代码以适应不同的需求实现了向后兼容。
内 部 类
定义把类定义在另一个类的内部该类就被称为内部类。
修饰符 class 外部类名称{
修饰符 class 内部类名称{
………..
}
………..
}
分类
非静态成员内部类静态成员内部类局部内部类匿名内部类
成员内部类——非静态
非静态成员内部类——定义在外部类成员位置的类,未使用static权限修饰符。
特点可以使用外部类中所有的成员变量和成员方法包括private的。
在外部类外创建一个非静态内部类对象的语法格式如下外部类名.内部类名 引用变量名 new 外部类名() . new 内部类名();
通过成员内部类来实现多继承
类不支持多继承可以通过接口实现但接口需要实现类实现其所有方法所以这时可以通过内部类来间接实现多继承
成员内部类——静态
定义用static关键字修饰定义在类成员位置的类称为静态内部类。
静态都是用来修饰类的内部成员的。比如静态方法静态成员变量静态常量。它唯一的作用就是随着类的加载而不是随着对象的产生而产生可以用”类名.静态成员名”直接获得。
因而静态内部类可以直接可以通过“ 外部类名.内部类名” 获得。
局部内部类
局部内部类——就是定义在一个方法或者一个代码块里面的类
特点主要是作用域发生了变化只能在自身所在方法和代码块中被使用。
修饰符 class 外部类名称{
修饰符 返回值类型 成员方法名[参数列表]{ class 局部内部类名称{ ……….. } }
}
总结关于类的权限修饰符
外部类 public / 缺省defaul成员内部类 public /protected / 缺省default/private局部内部类 什么都不加。
匿名内部类
匿名内部类不能定义任何静态成员、方法和类只能创建匿名内部类的一个实例。一个匿名内部类一定是在new的后面用其隐含实现一个接口或实现一个类。
格式
接口名称|抽象类名称 对象名 new 接口名称| 抽象类名称{
//覆写所有抽象方法
} ;
特点
匿名内部类必须继承父类或实现接口匿名内部类只能有一个对象匿名内部类对象只能使用多态形式引用向上转型。
面向接口编程
接口本质是一种规范和约束反映了系统设计者对系统的抽象理解。
面向接口编程就是先把客户的业务逻辑功能提取出来作为接口业务具体实现通过该接口的实现类来完成。
总结
封装隐藏数据的实现细节让数据的操作模块化提高代码复用性
继承复用方法从对象的行为这个层面提高代码的复用性
多态复用对象程序运行时同一个对象表现出不同的行为