「java中的抽象类定义」java中如何定义抽象类
今天给各位分享java中的抽象类定义的知识,其中也会对java中如何定义抽象类进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
JAVA抽象类的定义与使用
抽象类是带有Abstract的修饰的类,不管这个类中是否有方法是否被实现(有可能有一个或多个的抽象方法,或者就是没有抽象方法都行),他都是抽象类。
根据这个楼主可以自己创建以下。
Java抽象类是什么概念?
JAVA的抽象类其实和她的普通类在表示实现概念的东西没多大区别,不要因她带有抽象这个形容词就觉得比她的普通类理解起来复杂.\x0d\x0a个人的理解是\x0d\x0a所谓的抽象类呢,就是带有抽象方法的类.\x0d\x0a 所谓的抽象方法就像是一种写代码的规范.\x0d\x0a 抽象方法没有方法体\x0d\x0a 抽象方法可以有参数列表\x0d\x0a 抽象方法用abstract修饰\x0d\x0a 抽象方法的访问修饰分别为 public、protected、default(缺省 不用写) \x0d\x0a加深了解抽象类\x0d\x0a/*理解JAVA抽象类\x0d\x0a* 1.抽象类不能被实例化.\x0d\x0a* 2.抽象类有构造器,且他的构造在他的子类被实例化时被调用的顺序和普通类调用的顺序是一样的(先父后子).\x0d\x0a* 3.抽象类内部的方法可以不是抽象方法,也就是说抽象类内部可以有具体的方法.\x0d\x0a* 4.抽象类的抽象方法属于一种不完整的方法,只含有声明和定义,没有方法主体.\x0d\x0a* 5.如果抽象的某个子类是普通类(非abstract类型的类),那么该子类必须Override抽象类中所有的抽象方法.\x0d\x0a* 6.抽象类的子类也是抽象类的话,那么该子类既可以Override父类中的方法,也可以不Override父类中的方法.\x0d\x0a* 7.普通类中不能定义抽象方法.\x0d\x0a* 8.static不能修饰抽象方法\x0d\x0a* 备注:为了方便理解,所谓的普通是指如下形式定义的类\x0d\x0a* public class X{} 或 class A XX{} \x0d\x0a* */
什么是抽象类?抽象类有什么作用?
抽象类往往用来表征对问题领域进行分析、设计中得出的抽象概念,是对一系列看上去不同,但是本质上相同的具体概念的抽象。
作用:通常在编程语句中用 abstract 修饰的类是抽象类。在C++中,含有纯虚拟函数的类称为抽象类,它不能生成对象;在java中,含有抽象方法的类称为抽象类,同样不能生成对象。
抽象类里面可以有非抽象方法但接口里只能有抽象方法 声明方法的存在而不去实现它的类被叫做抽像类(abstract class),它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。
不能创建abstract 类的实例。然而可以创建一个变量,其类型是一个抽像类,并让它指向具体子类的一个实例。不能有抽像构造函数或抽像静态方法。Abstract 类的子类为它们父类中的所有抽像方法提供实现,否则它们也是抽像类为。
扩展资料:
在使用抽象类时需要注意几点:
1、抽象类不能被实例化,实例化的工作应该交由它的子类来完成,它只需要有一个引用即可。
2、抽象方法必须由子类来进行重写。
3、只要包含一个抽象方法的抽象类,该方法必须要定义成抽象类,不管是否还包含有其他方法。
4、抽象类中可以包含具体的方法,当然也可以不包含抽象方法。
5、子类中的抽象方法不能与父类的抽象方法同名。
6、abstract不能与final并列修饰同一个类。
7、abstract不能与private、static、final或native并列修饰同一个方法。
参考资料来源:百度百科-抽象类
java 抽象类定义
package baiduwenti;
abstract class MyAnimal {//抽象类
private String type;
MyAnimal(String str){//构造方法
type = str;
}
public abstract void voice();//抽象方法
}
class MyDog extends MyAnimal{//MyDog继承MyAnimal
private String name;
MyDog(String str,String n) {//构造方法
super(str);
name = n;
// TODO Auto-generated constructor stub
}
public void voice(){//实现抽象类中的抽象方法
System.out.println("the voice of a dog.");
}
}
class MyCat extends MyAnimal{
private String name;
MyCat(String str,String n){
super(str);
name = n;
}
public void voice(){
System.out.println("the voice of cat.");
}
}
public class Cx3110{
public static void main(String[] args){
MyAnimal dog = new MyDog("狗","旺财");//创建一个MyAnimal对象,并用MyDog实例化
dog.voice();//调用方法
MyAnimal cat = new MyCat("猫","旺运");//创建一个MyAnimal对象,并用MyCat实例化
cat.voice();
}
}
Java中的抽象类是什么?
使用了关键词abstract声明的类叫作“抽象类”。
如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。
如果一个类里包含了一个或多个抽象方法,类就必须指定成abstract(抽象)。“抽象方法”,属于一种不完整的方法,只含有一个声明,没有方法主体
关于java中的抽象类定义和java中如何定义抽象类的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2022-12-26,除非注明,否则均为
原创文章,转载请注明出处。