Java——抽象类

abstract关键字 抽象的

  • 抽象类 :abstract修饰的类就是抽象类

  • 抽象方法: abstract修饰的方法就是抽象 方法

  • 没有方法体

  • 必须定义在抽象类中

  • 案例:

  • 定义开发部们的不同职位

  • JAVA开发攻城狮 功能: 开发工作

  • Android开发程序媛 功能: 开发工作

  • 提取共性,定义在父类中

  • 父类: Develop 功能:工作

  • 注意:

  • 1.抽象类不能实例化|不能创建对象(因为可能会纯在抽象方法)

  • 2.抽象方法所在 的类 一定是抽象类

  • 3.抽象类中可以存在抽象方法,可以存在具体方法(有方法的方法)

  • 4.抽象方法必须被重写 后才能使用

  • 5.抽象类中的内容如何使用:

  • 具体子类(能够实例化的子类):必须抽象抽象父类中的所有抽象方法 +按需新增

  • 抽象子类:按需重写+按需新增

  • 6.一个抽象方法一旦已经被子类所实现,不需要在此重写该方法,可以重写

  • 7.abstract关键字不能与private,final,static,和native一起使用

public abstract class Develop extends Object{
	//方法体不知道些什么不知道怎么写
	abstract void work(); //抽象方法
	abstract void sleep(); //抽象方法
	void haha() {
		System.out.println("抽象类中的具体方法haha");
	}
}

具体子类:重写所有+按需新增

public class Java extends Develop{
	@Override
	void work() {
		System.out.println("javaEE开发");
	}
	@Override
	void sleep() {
		System.out.println("边敲代码变睡觉");
	}
	void hehe() {
		System.out.println("聊天止于呵呵...");
	}
}

抽象子类:需要具体子类

public abstract class Android extends Develop{
	@Override
	void work() {
		System.out.println("Android开发");
	}

	//abstract void sleep();
	void heihei() {
		System.out.println("嘿嘿笑...");
	}
}
class AndroidSon extends Android{
	@Override
	void sleep() {
		System.out.println("边吃饭边睡觉..");
	}
}

测试

public class Test {
	public static void main(String[] args) {
		//Develop d=new Develop();
		
		Java java=new Java();
		java.work();
		java.sleep();
		java.hehe();
		
		AndroidSon an=new AndroidSon();
		an.work();
		an.sleep();
		an.heihei();
		
		//多态
		Develop d=new Java();
		//d只能调用父类Develop中的内容
	}
}

下一篇,权限修饰符

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值