//多态应用:
package duixiang;
abstract class Stu//供子类继承的相同属性
{
public abstract void study();
public abstract void sleep();
}
class BaseStudent extends Stu
{
public void study()
{
System.out.println("base study");
}
public void sleep()
{
System.out.println("da sleep");
}
void play()
{
System.out.println("basketball");
}
}
class AdvStudent extends Stu
{
public void study()
{
System.out.println("adv study");
}
public void sleep()
{
System.out.println("xiao sleep");
}
void watch()
{
System.out.println("movies");
}
}
class Method//供主函数操作的方法类
{
public static void method(Stu s)//此方法可以提高代码的可扩展性,先用多态调用共同属性如:Stu s=new BaseStudent()
{
s.study();
s.sleep();
if(s instanceof BaseStudent)//instance比较是否为同一类
((BaseStudent) s).play();//强制转换类型并调用特有属性
else if(s instanceof AdvStudent)
((AdvStudent) s).watch();
}
}
public class DuoTaiDemo1 {
public static void main(String [] args)
{
Method.method(new BaseStudent());
Method.method(new AdvStudent());
}
}
对象(DuoTaiDemo1)
最新推荐文章于 2022-01-16 21:28:36 发布