多态:
1继承2重写3父类引用指向子类对象
使用多态方式调用方法时,首先检查父类中是否有该方法,如果没有,则编译错误;如果有,再去调用子类的同名方法。
多态情况下,如果子父类存在同名的成员变量或静态函数时,访问的是父类的成员变量或静态函数
多态情况下,如果子父类存在同名的非静态函数时,访问的是子类 的成员函数。
多态情况下, 不能访问子类特有的成员。
Parent p = new Child();
![](https://img.haomeiwen.com/i13091615/a1170bb74eace3d2.png)
强制数据类型转换:
基本数据类型的转换
小数据类型-------->大的数据类型 自动类型转换
大数据类型--------->小数据类型 强制类型转换 小数据类型 变量名 = (小数据类型)大数据类型;
引用数据类型的转换
小数据类型--------->大数据类型 自动类型转换。
大数据类型--------->小数据类型 强制类型转换
内部类:
在Java中,可以将一个类定义在另一个类里面或者一个方法里面,这样的类称为内部类。广泛意义上的内部类一般来说包括这四种:成员内部类、局部内部类、匿名内部类和静态内部类
优点:
⒈ 内部类对象可以访问创建它的对象的实现,包括私有数据;
⒉ 内部类不为同一包的其他类所见,具有很好的封装性;
⒊ 使用内部类可以很方便的编写事件驱动程序;
⒋ 匿名内部类可以方便的定义运行时回调;
5.内部类可以方便的定义
成员内部类:
![](https://img.haomeiwen.com/i13091615/fe10e89a57acf415.png)
局部内部类:
定义在一个方法或者一个作用域里面的类,它和成员内部类的区别在于局部内部类的访问仅限于方法内或者该作用域内
![](https://img.haomeiwen.com/i13091615/908847ee81a98a8e.png)
匿名内部类:
![](https://img.haomeiwen.com/i13091615/4eb77a011ee788d0.png)
静态内部类:
![](https://img.haomeiwen.com/i13091615/47951c9bd58e4202.png)
网友评论