- 多态
- 编译时多态:方法的重载
- 运行时多态java运行时系统根据调用该方法的实例的类型,来觉决定使用那个方法被称为运行时多态
- 平常说的多态,多指运行时多态。
- 向上转型:
1 pen pc=new pencil(); 2 pc.clis();//可以,clis属于子类重写父类方法。 3 pc.show();//无效,show属于pencil独有方法。
- 向下转型:
1 pen pc=new pen(); 2 pencil p=(pencil)pc; 3 p.show();//show属于pencil独有方法。
- 可根据instanceof运算符,来判断引用对象的类型,避免类型转换的安全性问题。
if (a instanceof b) //如果a属于b得true //如果a不属于b得false
- 抽象
-
public abstract class animal{ //抽象类 } pubilc abstract void eat(); //抽象方法
-
抽象类,无法直接实例化且子类需要重写全部抽象父类的方法
-
抽象方法所在的一定是抽象类
-
抽象类可以没有抽象方法
-
- 接口
-
修饰符 interface 接口名{ 0到多个常量定义 0到多个抽象方法定义 }
-
public class 类名 implements 接口名{ //接口当中的方法 }
- 一个子接口可以同时继承多个父接口
- 一个类继承可以与接口同时存在
-
- 内部类
- 一个类定义在另一个类或方法中被称为内部类
- 成员内部类
- 静态内部类
- 方法内部类
- 匿名内部类
- 一个类定义在另一个类或方法中被称为内部类
转载于:https://www.cnblogs.com/j6l6/p/11254908.html