0

0

Java中什么是抽象类?

零下一度

零下一度

发布时间:2017-06-25 09:34:55

|

2284人浏览过

|

来源于php中文网

原创

想要了解接口我们要先知道抽象类。那么什么是抽象类呢?

问题描述:生活中我们有很多的对象是无法具体描述的,比如说:我们可以说四边形有四条边。或者具体点说就是矩形两边对称且相等,正方形四边对称且相等。但是对于普通的图形而言就很难具体描述了。转换成Java语言就是说:对于一个很具体的类我们可以很方便的定义它的各种属性和方法,但是对于有一些类我们却难以了解它的方法时如何实现的。这时我们就可以用到抽象类。

抽象类的语法格式如下:

1 public abstract class 类名{2   abstract 返回值类型 方法名(参数列表);//定义抽象方法      3 }

定义抽象方法的关键字是:abstract。

使用abstract定义的类称为抽象类,而使用abstract定义的方法称为抽象方法。

立即学习Java免费学习笔记(深入)”;

抽象方法没有方法体,本身也没有任何意义,因此抽象类是不能够被实例化的。

当它被其子类继承时,子类必须实现其中的抽象所有方法。

只要类中有一个抽象放方法,此类就必须定义为抽象类。

Android配合WebService访问远程数据库 中文WORD版
Android配合WebService访问远程数据库 中文WORD版

采用HttpClient向服务器端action请求数据,当然调用服务器端方法获取数据并不止这一种。WebService也可以为我们提供所需数据,那么什么是webService呢?,它是一种基于SAOP协议的远程调用标准,通过webservice可以将不同操作系统平台,不同语言,不同技术整合到一起。 实现Android与服务器端数据交互,我们在PC机器java客户端中,需要一些库,比如XFire,Axis2,CXF等等来支持访问WebService,但是这些库并不适合我们资源有限的android手机客户端,

下载

 

了解了抽象类,我们继续思考下面的问题,来看先下面一段代码:

public abstract class shape 
{//定义一个图形抽象类public abstract void toString();//toString抽象方法public abstract void paint();//画图的抽象方法}public class triangle extends shape
{public void toString()
    {
        system.out.println("toString");
    }public void paint()
    {
        system.out.println("paint");
    }
}

这样看起来好像没有什么问题。如果我们有些类中不希望它有paint方法怎么办?把paint方法放到另一个类中?但是其它的类还要使用这个方法。而Java的语法规定了,类是不能多继承的,怎么办?这时我们就可以考虑使用接口了。

接口是抽象类的延伸,解决了Java中不能多继承的缺点。我们可以把paint方法封装到一个接口中,然后让需要用的图形类的子类实现这个接口。而Java中一个类是可以实现多个接口的,我们可以把不同的方法封装在接口中,交给类来使用。

接口的关键字是interface。其定义如下:

public interface 接口名  extends 类名  implements 接口,....{  //定义常量
  public static final 数据类型 常量名=值;  //定义抽象方法
  public abstract 返回值类型 方法名 (参数列表);        
}

要注意的是:1.接口不能被实例化   2.接口的访问修饰符只能是public  3.接口会默认提供public abstract static final关键字

相关文章

java速学教程(入门到精通)
java速学教程(入门到精通)

java怎么学习?java怎么入门?java在哪学?java怎么学才快?不用担心,这里为大家提供了java速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
C++ 单元测试与代码质量保障
C++ 单元测试与代码质量保障

本专题系统讲解 C++ 在单元测试与代码质量保障方面的实战方法,包括测试驱动开发理念、Google Test/Google Mock 的使用、测试用例设计、边界条件验证、持续集成中的自动化测试流程,以及常见代码质量问题的发现与修复。通过工程化示例,帮助开发者建立 可测试、可维护、高质量的 C++ 项目体系。

8

2026.01.16

java数据库连接教程大全
java数据库连接教程大全

本专题整合了java数据库连接相关教程,阅读专题下面的文章了解更多详细内容。

29

2026.01.15

Java音频处理教程汇总
Java音频处理教程汇总

本专题整合了java音频处理教程大全,阅读专题下面的文章了解更多详细内容。

13

2026.01.15

windows查看wifi密码教程大全
windows查看wifi密码教程大全

本专题整合了windows查看wifi密码教程大全,阅读专题下面的文章了解更多详细内容。

42

2026.01.15

浏览器缓存清理方法汇总
浏览器缓存清理方法汇总

本专题整合了浏览器缓存清理教程汇总,阅读专题下面的文章了解更多详细内容。

6

2026.01.15

ps图片相关教程汇总
ps图片相关教程汇总

本专题整合了ps图片设置相关教程合集,阅读专题下面的文章了解更多详细内容。

9

2026.01.15

ppt一键生成相关合集
ppt一键生成相关合集

本专题整合了ppt一键生成相关教程汇总,阅读专题下面的的文章了解更多详细内容。

5

2026.01.15

php图片上传教程汇总
php图片上传教程汇总

本专题整合了php图片上传相关教程,阅读专题下面的文章了解更多详细教程。

2

2026.01.15

phpstorm相关教程大全
phpstorm相关教程大全

本专题整合了phpstorm相关教程汇总,阅读专题下面的文章了解更多详细内容。

4

2026.01.15

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Kotlin 教程
Kotlin 教程

共23课时 | 2.6万人学习

C# 教程
C# 教程

共94课时 | 6.8万人学习

Java 教程
Java 教程

共578课时 | 46.5万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号