JAVASE入门---我对强转与多态的理解

来源:互联网 发布:b2b软件有哪些 编辑:程序博客网 时间:2024/06/07 18:27

写的自己对接口与多态的理解。0基础学JAVA,目前有效学时为14天。

多态目的在用同一个方法(公用方法,猫,狗,eat),在一定的条件前提下(有父类和子类两个类,才能利用代码替代原理用父类变量引用子类对象)通过传递不同类型的子类的对象,实现各类的同一个公用方法;

如果需要输出符合一定条件的需求的类的共有的方法,

父类:Person  公有成员方法eat;

接口:抽烟 smokeInter

Person子类:Student,继承person  成员方法eat;

Person子类:Worker,继承person成员方法eat;

Student子类BadStudent,extends Student,implementsmokeInter实现接口方法smokeInter

Worker子类BadWorker,继承Worker的eat方法,实现(加载)抽烟接口,实现抽烟功能,implement smokeInter

需求:1.输出学生吃A饭、工人吃B饭、坏学生吃C饭、坏工人吃D饭

    2.输出坏学生抽烟,坏工人抽烟

需求1.在测试类中定义方法eat,传入参数为父类Person p

public eat(Person p){

if(p instanceof Student){   //如果传入的对象为Student类的对象,执行((Student) p).eat();

((Student) p).eat();q其他类似,最后一个else

((BadWorker) p).eat();}

}

需求2.

public void smoke(smokeInter s){

if(s instanceof BadStudent){//如果传入对象为坏学生类的子类,输出(BadStudent s).smoke();

(BadStudent s).smoke();}

else{

(BadWorker s).smoke();}//或者为坏工人类的对象,输出(BadWorker s).smoke()

}

子类把这个方法写入接口,然后运用接口作为父类,传入参数为这些拥有特定需求接口的类的对象,调用这个特有方法,实现输出特定范围内那些类的那些共性方法。

原创粉丝点击