Java基础——抽象类

1、什么是抽象类

  有时候,方法的功能无法确定如何实现,比如:计算图形、三角形、正方形、圆形、作为父类,面积方法的编写无法确定,所以有时候,有些方法的编写没有意义,想想是否可以省略掉方法体的编写,不就更加简洁了吗。
  再例如:我说动物,你知道我说的是什么动物吗?只有看到了具体的动物,你才知道,这是什么动物。所以说,动物本身并不是一个具体的事物,而是一个抽象的事物。只有真正的猫、狗才是具体的动物。同理,我们也可以推想,给动物添加一个吃的功能,那么,不同的动物吃的东西应该是不一样的,所以,我们不应该在动物类中给具体的体现,而是应该给出一个声明即可。

2、抽象类的编写格式

  java中的方法,只编写方法的声明,没有方法体的编写,这样的方法称为抽象方法。

方法的编写格式:
  权限 [static/native等等] 返回值类型 方法名([参数类型 参数名,参数类型 参数名,…]){
    方法体
  }
方法: 一段代码实现一定的功能.

public void eat(){ //方法的格式
	System.out.println();
}

抽象类的编写格式:
  权限 abstract 返回值类型 名 (参数列);
  abstract:抽象的意思

抽象类特点

  1. 抽象方法的权限只能为public或protected.
  2. 抽象方法必须使用abstract修饰,表示当前方法为抽象方法.
  3. 抽象方法不能含有方法体.
  4. 抽象方法只能放在抽象类中.

编写DoMain类:

public abstract class DoMain {

	public abstract void showA();

}

实现类1:

public class Demo01 extends DoMain{

	@Override
	public void showA() {
		System.out.println("实现了抽象的功能....");
	}
	public static void main(String[] args) {
		Demo01 d = new Demo01();
		d.showA();
	}
}

实例2:

public abstract class Demo02 extends DoMain{
	//继承了抽象类,但我不想实现
}

实现2:

public class Demo03 extends Demo02{//继承Demo02,我这边实现使用

	@Override
	public void showA() {
		System.out.println("实现具体………………");
	}
	public static void main(String[] args) {
		DoMain d = new Demo03();// 转型二层
		// 操作方法
		d.showA();
	}
}

3、抽象类问题

含有抽象方法的类,一定是抽象类? 抽象类一定含有抽象方法?
  如果一个类中含有抽象方法,那么这个类必须为抽象类,抽象类中可以含有抽象方法和普通方法。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

橘子皮..

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值