abstract java 实例化_java中abstract怎么使用啊,说的详细点。举几个有代表的例子...

本文详细介绍了Java中的抽象类和抽象方法的概念及其使用规则。抽象类不能被实例化,主要用来作为其他类的基类,其中抽象方法只有声明没有实现,必须由子类进行覆盖。一个包含抽象方法的类必须声明为抽象类,而抽象类可以包含非抽象方法。子类继承抽象类后,若未实现所有抽象方法,子类也必须是抽象类。抽象方法的调用通常通过多态实现,确保代码的灵活性。
摘要由CSDN通过智能技术生成

展开全部

使用abstract(抽象)修饰62616964757a686964616fe59b9ee7ad9431333366306435符,可以修饰类和方法。

1、abstract修饰类,会使这个类成为一个抽象类,这个类将不能生成对象实例,但可以做为对象变量声明的类型,也就是编译时类型,抽象类就像当于一类的半成品,需要子类继承并覆盖其中的抽象方法。

2、abstract修饰方法,会使这个方法变成抽象方法,也就是只有声明(定义)而没有实现,实现部分以";"代替。需要子类继承实现(覆盖)。

注意:有抽象方法的类一定是抽象类。但是抽象类中不一定都是抽象方法,也可以全是具体方法。

abstract修饰符在修饰类时必须放在类名前。

abstract修饰方法就是要求其子类覆盖(实现)这个方法。调用时可以以多态方式调用子类覆盖(实现)后的方法,也就是说抽象方法必须在其子类中实现,除非子类本身也是抽象类。

注意:父类是抽象类,其中有抽象方法,那么子类继承父类,并把父类中的所有抽象方法都实现(覆盖)了,子类才有创建对象的实例的能力,否则子类也必须是抽象类。抽象类中可以有构造方法,是子类在构造子类对象时需要调用的父类(抽象类)的构造方法。

举个简单的例子下面有一个抽象类:

abstract class E{

public  abstract  void  show();//public abstract 可以省略

}

然后其它类如果继承它通常为了实现它里面的方法:

class F extends E{

void show(){

//写具体实现的代码

}

}

最后再主方法里面定义一个父类引用指向子类对象,就会发生多态现象,比如 :

E e=new F();

e.show();

实际调用了子类里面的show()方法 。

5c79d67b3926e1dc92a27625e341ddb5.png

扩展资料:

Java中的abstract方法和abstract类的问题:

当知道一个类的子类将不同的实现某个方法时,把该类声明为抽象类很有用,可以共用相同的父类方法,不必再定义。

抽象类和抽象方法的关系:含有抽象方法的类一定是抽象类,抽象类里不一定含有抽象方法。

抽象类存在的意义是用来被继承的。一个类继承了一个抽象类,必须实现抽象类里面所有的抽象方法,否则,此类也是抽象类。

1:用abstract修饰的类表示抽象类,抽象类位于继承树的抽象层,抽象类不能被实例化。

2:用abstract修饰的方法表示抽象方法,抽象方法没有方法体。抽象方法用来描述系统具有什么功能,但不提供具体的实现。

abstract 的规则:

1:抽象类可以没有抽象方法,但是有抽象方法的类必须定义为抽象类,如果一个子类继承一个抽象类,子类没有实现父类的所有抽象方法,那么子类也要定义为抽象类,否则的话编译会出错的。

2:抽象类没有构造方法,也没有抽象静态方法。但是可以有非抽象的构造方法。

3:抽象类不能被实例化,但是可以创建一个引用变量,类型是一个抽象类,并让它引用非抽象类的子类的一个实例。

4:不能用final 修饰符修饰。

参考资料:

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值