黑马程序员:abstract(抽象)关键字介绍

---------------------- ASP.Net+Android+IOS开发.Net培训、期待与您交流! ----------------------

abstract:抽象 只能用来定义类、方法

当多个类中出现相同功能,但是功能主体不同,这时可以进行向上抽取,只抽取功能定义,而不抽取功能主体。


抽象类的特点:
1.抽象方法一定在抽象类中
2.抽象方法和抽象类都必须被abstract关键字修饰
3.抽象类不可以用new创建对象(抽象类无法进行实例化),因为调用抽象方法没意义
4.抽象类中的方法要被使用,必须由子类重写其所有的抽象方法后,建立子类对象调用
注:如果子类只覆盖了部分抽象方法,那么该子类还是一个抽象类
示例:

abstract class Student
{
	abstract void study();  //抽象方法
}

class BaseStudent exstends Student
{
	void study()  //重写父类方法
	{
		System.out.println("Base Study");
	}
}

class AdvStudent exstends Student
{
	void study()
	{
		System.out.println("Adv Student");
	}
}

class AbstractDemo
{
	public static void main(String[] args)
	{
		new BaseStudent().study();
	}
}



abstract可以强迫子类方法重写,可以禁止类被建立对象


抽象类中可以有一般方法,也可以有抽象方法,但抽象方法必须放在抽象类中。
抽象类和一般类的区别
抽象类:可以存放抽象方法(非必要)、也可以存放一般方法,不能被实例化,即不能被建立对象

一般类:不可以存放抽象方法,可以被建立对象

---------------------- ASP.Net+Android+IOS开发.Net培训、期待与您交流! ----------------------详细请查看:http://edu.csdn.net

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值