Java中抽象类概述
抽象类
1.抽象类的定义
抽象类是为子类提供一个规范,这就必须联系到继承;
抽象类的制定就是让子类继承的;
public abstract 类名{
//类体
//抽象方法
修饰符 abstract 返回值类型 方法名(参数列表);
}
*抽象方法没有方法体:public abstract void test();
**普通方法有方法体:public void test(){//方法体};
(1)定义一个类,如果这个类是抽象类,那么这个类中至少含有一个抽象方法;
(2)再抽此昂类中的方法不一定是抽象方法,但含有抽象类的方法一定是抽象类
2.抽象类的使用
@Override用来检测是否重写成功
我们可以在抽象类中添加未实现的方法(抽象方法)
(1)一个类继承了抽象类,就必须重写该抽象类的所有抽象方法
(2)如果有一个类没有重写抽象类的抽象方法,那么这个类也要重新定义为抽象类
示例代码:
package com.java1995;
/**
 * 猫科动物类
 * @author ideaor
 *
 */
public abstract class Feline {
	
	private int legCount=4;
	private String headShape="round";
	private boolean meatEater=true;
	/**
	 * 普通方法,动物呐喊
	 */
	public void cry(){
		System.out.println("动物在狂吼");
	}
	/**
	 * 抽象方法,捕食
	 * @param animal
	 */
	public abstract void catchAnimal(Animal animal);
	
}
package com.java1995;
public class Animal {
}
package com.java1995;
public class Tiger extends Feline{
	/**
	 * 老虎
	 */
	@Override
	public void catchAnimal(Animal animal) {
		// TODO Auto-generated method stub
		System.out.println("老虎在捕食");
		
	}
	
}
package com.java1995;
public class Cat extends Feline {
 @Override
	public void catchAnimal(Animal animal) {
		// TODO Auto-generated method stub
		//首先要判断捕食的animal是否是老鼠,如果是,可以捕食
		if (animal instanceof Mouse){
			System.out.println("猫正在捕食老鼠");
		}
		else
			System.out.println("猫不能捕食");
	}
}
package com.java1995;
public class Mouse extends Animal{
}
 
 
 
 
 
 
 
 
![[LCG]年度幸运奖](https://static.52pojie.cn/static/image/common/t.gif) 
 


 
 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号