这位同学,对你的问题的描述不太理解,你看哈,Class Li中一共有三个方法,不知道您想优化那个呢?
1.如果只是想单纯的调用Study方法,那么可以采用二楼的回答,向上转型。- Student s = new Li();//父类引用指向子类对象,向上转型(多态)
复制代码 ,或者直接用自身的引用指向自身的对象
2.如果要单独调用sleep方法,因为是自己类独有的,那么必须采用自身的引用来调用。或者Li(s),即将向上转型的结果再转为自身,不过没感觉到优化,只是用到了多态
3.如果要调用smoke方法,两种方式,一是直接用自身的引用指向自身的对象(Li l = new Li()),二是采用接口的方式,表达如下:
- Smoking smoker = new Li();
复制代码
希望能够帮到你 |