抽象类(abstract)

 

A 抽象类

 

  抽象类前使用abstract 关键字修饰,则该类为抽象类.

1、抽象类约束子类所用的方法,不关心方法如何实现;

2、具有多个相同特征的类抽象成一个抽象类,避免重复设计.例如我们所吃的蔬菜类、肉类、面类、米类等,都可以抽象为食物类,人也是一个抽象类,分为男人、女人,再细分可分为青年、壮年、老年、儿童等;

3、抽象方法必须在抽象类中,但抽象类不一定含有抽象方法;

4、抽象类在检测时不能直接调用,可以另建一个类继承父类,从而完成调用.

例如:


public abstract class Person {
   private String name;
   //Chicken w = new Chicken();
   //String q = w.setName();
   
   public Person(String name) {
	   this.name = name;
   }
   
   
   public String getName() {
	return name;
}

   public void setName(String name) {
	this.name = name;
}

    public abstract void speak();   //抽象方法
}

public class 美国人 extends Person {

	public 美国人(String name) {
		super(name);
		
	}
	public  void speak() {
		System.out.println("英语");
	}
	

}

public class TestDuotai {

	public static void main(String[] args) {
	   
		Person s = new 美国人("示范");//new 父类的子类   子类继承父类    父类抽象化
		Chicken c = new Chicken();
		//Food f = new Food(); 
		Duck d = new Duck();
		Fish f = new Fish();
		//Food aa= new Food();
		//s.eat(aa);                  // 无意义 
		s.eat(c);
		s.eat(d);
		s.eat(f);

	}

}

 

  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值