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