面向对象第6课——多态——抽象

											//多态课件————抽象

//多态包括,方法重载、方法重写、对象转型、抽象、接口
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();

	}

}

  

原文地址:https://www.cnblogs.com/zhangnaitao/p/5907915.html