抽象类Abstract

学完java之后,发现很多基础东西都遗忘却。。。所以特地重新刷课,总结基础。。。温故而知新,增加记忆吧

抽象(关键字:Abstract)

多个类中出现相同的方法,但是方法实现的功能内容并不相同,即方法体不同。这时可以进行向上抽取,只能抽取方法功能定义,不能写入方法体。

知识点:

抽象类不能够被实例化(说的通俗一点就是,不能够被new出来);

抽象类可以被继承,故可以通过子类来实例化;

含有抽象方法的类是抽象类,即使类中只有一个方法是抽象类,也就是说抽象类中可以包含非抽象方法;

抽象类中抽象方法的作用:指出类中要实现的功能,但是没有具体操作。

继承抽象类的子类,必须重写抽象类中的所有抽象方法。如果子类只重写了部分抽象方法,那么子类也是抽象类。

抽象类中也可以没有抽象方法(仅仅是为了类不能够被实例化)

抽象方法一定存在于抽象类中

举一个简单的示例:

abstract class Person
{   
	String name;
	Person(){
		name="地球";
		System.out.println("我们都是地球人");
	}
	abstract void study();
	abstract void speak();
	abstract void skin();
	void sleep(){
		System.out.println("天黑睡觉");
	}
}
class ChinesePerson extends Person
{
	ChinesePerson(String name){
		System.out.println(super.name);
		System.out.println(name);
	}
	void study(){
	
		System.out.println("学习中文");
	}
	void speak(){
		System.out.println("说中文");
	}
	void skin(){
		System.out.println("黄皮肤");
	}
}
public class AbstractDemo
{
	public static void main(String[] args){
		ChinesePerson cp=new ChinesePerson("人");
		cp.study();
		cp.speak();
		cp.skin();
		cp.sleep();
	
	}
} 
/*输出结果:
我们都是地球人
地球
人
学习中文
说中文
黄皮肤
天黑睡觉
*/

如果有这里存在疑问的,欢迎互相学习。。。 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值