J***A类是一种用关键字“抽象”声明的类。任何用关键字“abstract”修饰的类都是抽象类。在上一篇文章中,我们也提到了抽象类“class”也不例外。是J***A的基础知识,是大数据开发的基础。不过这个类比较特殊,要单独提一下。接下来我给大家讲解一下“抽象类”。
首先,抽象类
如上所述,“抽象类”的定义是使用关键字“抽象”的类。在面向对象的概念中,所有的对象都是用类来描述的,但恰恰相反,并不是所有的类都用来描述对象。因此,一个类不包含足够的信息来描述对象,这样的类是抽象类。
定义抽象类的方法是用抽象关键字修饰的。例子如下
抽象void shout();//定义抽象方法
定义抽象类是用抽象关键字来修饰的,例如
抽象类A{//定义一个抽象类
Public void fun(){//公共方法
system . out . println(“现有方法体的方法”);
}
公共摘要void print();//抽象方法,没有方法体,用abstract关键字修饰。
}
抽象类的特征:
1.有抽象方法的类只能定义为抽象类,但是抽象类可以没有抽象方法。
2.抽象类是没有具体对象的概念类,这意味着抽象类不能被实例化为对象。
3.如果一个类包含未实现的抽象方法,该类应该使用抽象声明作为抽象类。
4.抽象方法不能有方法体。
因为抽象类不能实例化对象,所以抽象类在使用之前必须被继承。其次,父类本身就是抽象类,所以不能用这个方法。
第二,界面
J***A接口是一系列方法的声明和一些方法特性的***。它是J***A编程语言中的抽象类型和抽象方法的***,接口一般由inte***ce声明。一个接口只有方法的特性,没有方法的实现,所以这些方法可以在不同的地方被不同的类实现,这些实现可以有不同的功能。也可以理解为一个类只有一个直接父类,但是可以有多个接口,J***A接口本身没有实现。
注意事项:
1.接口不是类。不要因为写的和类一样,就想当然的认为它们是一样的,其实它们属于不同的概念。
2.接口不能实例化,但可以实现。
3.接口类型可用于声明变量。
4.接口只能定义抽象方法。
5.接口中的所有方法都是抽象的和公共的,所有属性都是公共的、静态的、最终的。
6.接口用来弥补类不能实现多重继承的限制。
接口定义的语法格式
[public]inte***ce接口名称[扩展父接口名称列表]
{
//静态常数
[public] [static] [final]数据类型变量名=常量值;
//抽象方法
[public] [abstract] [native]返回值类型方法名(参数列表);
}
注意:
1.public表示接口的修饰符。当没有修改器时,将使用默认修改器。此时,接口的访问权限仅限于其所属的包;
2.接口名称表示接口的名称。
3.Extensions表示接口的继承关系;
4.inte***ce1_name表示要继承的接口的名称;
5.constant_name表示变量名,一般为静态和最终类型;
6.returnType指示方法的返回值类型;
7.parameter_list表示参数列表,接口中的方法没有方法体。
讲了一些接口的基础知识之后,如何实现接口呢?接下来,我将解释如何实现该接口。
第三,实现接口。
定义接口后,一个或多个类可以实现该接口,这需要在实现该接口的类的定义中包含implements子句,然后实现该接口定义的方法。接口实现的一般形式如下:
& ltpublic & gtclass & ltclass _ name & gt[扩展超类名称][实现接口[,接口…]]
{
//正文
}
当一个类实现一个接口时,它必须实现接口中的所有方法,否则它必须被声明为一个抽象类。
注意事项:
1.一个类也可以同时实现多个接口。
2.一个类只能继承一个类,但是接口可以实现多个类。
3.一个接口可以从另一个接口继承。
J***A抽象类和接口很难理解,但这是J***A中的基本概念,必须彻底理解和明白。所以这点很有必要琢磨一下,边练边懂,应该对你学习效率有帮助。以上是J***A抽象类和接口的知识,是大数据开发的基础。希望你能学到东西,每天更新大数据和J***A的相关知识。如果你不想错过,请注意。谢谢你的支持。
本文来自北蕭投稿,不代表舒华文档立场,如若转载,请注明出处:https://www.chinashuhua.cn/24/501692.html