类特性(抽象类)

简介: 类特性(抽象类)

抽象类与抽象方法

  • 什么是抽象类:

随着继承层次中一个个新子类的定义,类变得越来越具体,而父类则更一 般,更通用。类的设计应该保证父类和子类能够共享特征。有时将一个父 类设计得非常抽象,以至于它没有具体的实例,这样的类叫做抽象类。

  • 用abstract关键字来修饰一个类,这个类叫做抽象类。
  • 用abstract来修饰一个方法,该方法叫做抽象方法。
  • 抽象方法:只有方法的声明,没有方法的实现。以分号结束: 比如:public abstract void talk();
  • 含有抽象方法的类必须被声明为抽象类。
  • 抽象类不能被实例化。抽象类是用来被继承的,抽象类的子类必须重 写父类的抽象方法,并提供方法体。若没有重写全部的抽象方法,仍为抽象类。
  • 不能用abstract修饰变量、代码块、构造器;
  • 不能用abstract修饰私有方法、静态方法、final的方法、final的类。
抽象类举例
class void A {
  abstract void m1(); 
  public void m2() {
  System.out.println("A类中定义的m2方法");
  }
}
class B extends A {
  void m1() {
  System.out.println("B类中定义的m1方法");
  }
}
public class Test {
  public static void main(String args[]) {
  A a = new B();
  a.m1();
  a.m2();
  }
}

作用:

抽象类是用来模型化那些父类无法确定全部实现,而是由其子类提 供具体实现的对象的类。

抽象类的特点:

A:抽象类和抽象方法必须用abstract关键字修饰

B:抽象类中不一定有抽象方法,但又抽象方法的类一定是抽象类

C:抽象类不能实例化 因为它不是具体的。抽象类又构造方法,但是不能实例化?构造方法的作用是什么呢?用于子类访问父类数据的初始化

D:抽象的子类

a:抽象类的子类是一个抽象类

b:重写所有的抽象方法,这个时候子类是是一个具体的类

抽象类的实例化其实是靠具体的子类实现的是多态的方式

Animal a = new Cat();

抽象类的成员特点:

成员变量:既可以是变量,也可以是常量

构造方法:有用于子类访问父类数据的初始化

成员方法:既可以是抽象的,也可以是非抽象的。

抽象类的成员方法特性:

A:抽象方法强制要求子类做的事情

B:非抽象方法子类继承的事情提高代码复用性

相关文章
|
2月前
|
数据采集 Web App开发 自然语言处理
新闻热点一目了然:Python爬虫数据可视化
新闻热点一目了然:Python爬虫数据可视化
|
1月前
|
Linux 网络安全 iOS开发
Metasploit Framework 6.4.92 (macOS, Linux, Windows) - 开源渗透测试框架
Metasploit Framework 6.4.92 (macOS, Linux, Windows) - 开源渗透测试框架
237 2
Metasploit Framework 6.4.92 (macOS, Linux, Windows) - 开源渗透测试框架
|
3月前
|
人工智能 自然语言处理 安全
如何让 AI 工具更懂你,更听话?
你是否也曾被AI“气到吐血”?明明说的是A,AI却给了B?别沮丧,2025年的AI也需要“正确沟通”。本文教你五大提示技巧:动态提示、多模态输入、Few-shot示例、任务分解与安全边界,让AI从“人工智障”变身“贴心助手”。学会“说AI的语言”,释放创造力,提升效率,开启智能生活新时代!
1182 0
|
4月前
|
人工智能 NoSQL Docker
1分钟极速生成简历表单,AI与Flash Table实战让你领先一步
Flash Table是一款高效低代码平台,专为简化复杂表单开发而设计。它通过可视化拖拽、AI智能生成、数据整合及多系统对接等功能,显著提升开发效率与交互体验,助力企业快速实现数字化升级。
|
10月前
|
人工智能 机器人 API
阿里云百炼xWaytoAGI共学课 DAY2 - 更好用的文本知识库应用跟学,快速上手阿里云百炼
本课程是阿里云百炼平台的第二天课程内容,旨在帮助用户了解如何通过阿里云百炼构建和发布自己的AI应用。介绍了如何利用大模型和智能体应用来创建具备强大语言理解和生成能力的AI助手,并通过不同的渠道(如网站、钉钉、微信公众号等)发布这些应用。
1732 8
|
存储 SQL Oracle
AWR,即自动工作负荷资料档案库
【10月更文挑战第16天】AWR,即自动工作负荷资料档案库
332 3
|
机器学习/深度学习 自然语言处理 语音技术
探索机器学习中的深度学习模型:原理与应用
探索机器学习中的深度学习模型:原理与应用
320 0
|
缓存 安全 数据安全/隐私保护
在实际应用中,如何根据具体场景选择合适的请求方法?
【10月更文挑战第29天】在实际应用中,需要综合考虑各种因素,如数据的性质、操作的语义、安全性要求、性能优化等,来选择最合适的 HTTP 请求方法。同时,还需要根据具体的业务逻辑和系统架构,对请求方法的使用进行合理的设计和规范,以确保系统的安全、稳定和高效运行。
|
边缘计算 运维 Kubernetes
与客户同行,ACK Edge携手专属钉获 “信通院边缘计算十佳案例”
基于ACK Edge的《专属钉混合云架构云边协同》被评为边缘计算十佳“星耀”案例,本文介绍ACK Edge典型场景以及在专属钉场景的落地案例。

热门文章

最新文章