怎样使用抽象类和抽象方法?

当我们编写一个类时,常常会在该类中定义一些方法,这些方法通常情况下是具体的,但在某些情况下,我们无法准确的知道这些方法的细节,这时候就需要我们创建一个抽象类,这些方法就是抽象方法。抽象类一般指父类,专门用来让子类继承,抽象方法必须被子类重写。我们通过添加abstract关键字来使该类变成抽象类,同样添加abstract关键字使方法变成抽象方法。
注意:

  1. 一个抽象类中可以不定义抽象方法,但是只要类中有一个抽象方法,则该类一定是抽象类。
  2. 抽象类不能被实例化。
  3. 如果一个子类继承一个抽象类,则子类需要通过覆盖的方式来重写抽象类中的所有抽象方法。如果子类没有完全重写抽象父类中所有方法,则子类仍是抽象的。
  4. 抽象方法可以与public,protected复合使用,但不能与final,private和static使用。
  5. abstract不能用于修饰属性,修饰局部变量,也不能用于修饰构造器。
    实例:不同的动物都有进食的行为,但是在进食前需要捕捉到食物后才能进食,要求定义一个抽象的动物类,该类有一个抽象的捕食方法,在进食方法中调用捕食方法。定义三个不同的动物类,分别是狼,虎,猴这些类继承抽象的动物类。代码如下:
 package start;

public abstract class Animal {

	public abstract String predation();

	public String eat() {
		return ("嚼碎食物,将食物咽进肚子里。。。");
	}

}
package start;

public class Tiger extends Animal {


	public String predation() {

		return ("老虎单枪匹马作战发现食物一击毙命");
	}

}
package start;

public class Wolf extends Animal {

	
	public String predation() {

		return ("狼王有组织地安排捕食计划");
	}

}
package start;

public class Monkey extends Animal {

	@Override
	public String predation() {

		return ("猴子悠哉悠哉地爬到树上采摘香蕉");
	}

}
package start;

public class Test {

	public static void main(String[] args) {
		Wolf w = new Wolf();
		System.out.println(w.predation());
		System.out.println(w.eat());
		Tiger t = new Tiger();
		System.out.println(t.predation());
		System.out.println(t.eat());
		Monkey m = new Monkey();
		System.out.println(m.predation());
		System.out.println(m.eat());

	}

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值