面向对象第6课——多态——抽象
2016-09-26 09:12 宇航员舒克 阅读(128) 评论(0) 收藏 举报 //多态课件————抽象
//多态包括,方法重载、方法重写、对象转型、抽象、接口
package chouxiang;
//机器人
//抽象类abstract (如果该类中存在抽象方法必须定义成抽象类)(如果该类中没有抽象方法,也可以定义为抽象类)
public abstract class Robot {
//方法
//听
public void listen()
{
System.out.println("我能听了");
}
//说
public void speak()
{
System.out.println("我能说了");
}
//跑
//抽象方法abstract(没有方法体的方法)
public abstract void run();
//跳
public abstract void jump();
}
//抽象abstract总结:
//抽象类总结:
//定义方式:修饰符 abstract class 父类名称{}
//特点:如果该类中存在抽象方法必须定义成抽象类;如果该类中没有抽象方法,也可以定义为抽象类
//抽象类不能直接实例化。必须继承抽象类,必须实现抽象方法, 如果不能完全实现抽象方法,还需定义成抽象类。
//
//抽象方法:
//定义方式:修饰符 abstract返回类型 方法名 (参数列表);
//特点:只有方法的声明,实现实现方法(没有体)。
//
//不能用abstract修饰私有属性、构造方法、静态方法、私有方法。
package chouxiang;
//继承抽象类,必须实现抽象方法, 如果不能完全实现抽象方法,还需定义成抽象类。
public abstract class T100 extends Robot {
//实现抽象方法
@Override
public void run() {
System.out.println("I can run");
}
// @Override
// public void jump() {
// System.out.println("I can jump");
//
// }
}
package chouxiang;
public class T200 extends T100 {
@Override
public void jump() {
System.out.println("I can jump");
}
}
package chouxiang;
public class Robottest {
public static void main(String[] args) {
//抽象类不能被直接实例化
// Robot r=new Robot();
T200 T2=new T200();
T2.listen();
T2.speak();
T2.run();
T2.jump();
}
}

浙公网安备 33010602011771号