JAVA基础—类—11.29

JAVA基础—类—11.29

一、类
1、面向过程和面向对象的区别
1.1面向过程:通过逻辑关系实现功能
优点:对于业务逻辑简单的程序,可以快速开发,前期投入低
缺点:耦合度高,扩展力差,没有组件复用性功能
1.2面向对象:将现实生活单元进行拆分对象,进行实现。关注独立体的完成功能
优点:耦合度低,扩展力强,更容易解决现实生活中更复杂的业务逻辑
缺点:前期投入高,需要独立体抽取,大量的系统分析。

2、面向对象的三大特征
封装,继承,多态
面向对象分析(OOA),设计(OOD),编程(OOP)

3、类和对象的概念
类:现实世界不存在,是一个模板,是一个概念,是大脑抽象的结果,代表一类事物,对象A和对象B具有共同特征,进行抽象总结出来的一个模板,成为类

对象:实际存在的个体,实例

类——【实例化】——对象
对象——【抽象】——类

类描述的是状态+动作
类{

属性:对象的状态信息
方法:对象的动作信息
}
4、类的定义
语法结构:
【修饰符列表】class类名{

属性;(通常是采用一个变量的形式实现)
方法;(描述的对象的动作信息)
}
类属于引用数据类型
二、对象的创建和使用
放在类体的变量,可以理解为实例变量112——113
有图

三、抽象类、接口以及区别
1、抽象类
1.1什么是抽象类?
类的进一步抽象,类和类之间有共同特征,将这些具有共同特征的类进一步抽象成抽象类。由于类本身不存在,抽象类无法实例化,无法创建对象

1.2属于什么类型?
引用数据类型

1.3怎么定义?
【修饰符列表】abstract class类型{

类体;
}
1.4 抽象类是用被子类继承,无法实例,无法创建对象,但有构造方法是供子类继承

2、接口
2.1接口基础语法
2.1.1接口也是引用数据类型,是完全抽象的,编译完也是class类型,抽象类是半抽象的,接口是特殊抽象类
2.1.2定义:
【修饰符列表】interface 接口名{

常量;
抽象方法;
}

2.1.3
接口可以继承,可以多继承,一个接口可以继承多个接口
2.1.4
接口中所有元素都是public修饰的,抽象方法(public stctic)、常量(public static final)定义时可以省略修饰符,接口抽象方法不能带有主体(方法体)
2.1.5

2.2接口在开发中的作用

3、抽象类和接口的区别
3.1抽象类
3.1.1
怎么定义:在class前加关键字abstract
3.1.2
抽象类无法实例化,无法创建对象,所以抽象类是用来被子类继承的
3.1.3
final和abstract不能联合使用,关键字对立
3.1.4
抽象类子类可以是抽象类,也可以是非抽象类
3.1.5
抽象类中不一定有抽象方法,抽象方法必须出现在抽象类中
3.1.6
抽象方法怎么定义:public abstract void doSome();
3.1.7
一个非抽象的类,继承抽象类,必须将抽象类中的抽象方法进行覆盖/重写/实现/

java语言中凡事没有方法体的方法都是抽象方法(错)object类中方法都是低层c++

3.3区别
抽象类是半抽象的,接口是完全抽象。
抽象类有构造方法,接口没有构造方法
接口和接口之间支持多继承,类和类之间是单继承
一个类可以实现多个接口,一个抽象类只能继承一个类(单继承)
接口中只允许出现常量和抽象方法
接口一般都是对行为的抽象

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/114577.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • Redis除了做缓存,还可以怎么用?网友:点赞功能啊

    点赞功能是目前app开发基本的功能 今天我们就来聊聊点赞、评论、收藏等这些场景的db数据库设计问题~ 1. 我们先来看看场景的需求: 显示点赞数量 判断用户是否点过赞,用于去重,必…

    2021年6月22日
  • 一文搞懂SpringBoot自动配置原理「建议收藏」

    一文搞懂SpringBoot自动配置原理「建议收藏」阅读收获????????理解SpringBoot自动配置原理一、SpringBoot是什么SpringBoot的诞生就是为了简化Spring中繁琐的XML配置,其本质依然还是Spring框架,使用SpringBoot之后可以不使用任何XML配置来启动一个服务,使得我们在使用微服务架构时可以更加快速的建立一个应用。简单来说就是SpringBoot其实不是什么新的框架,它默认配置了很多框架的使用方式。二、SpringBoot的特点提供了固定的配置来简化配置,即约定大于配置 尽可能地

    2022年8月21日
  • 树莓派学习-I2c通信

    树莓派学习-I2c通信前言由于之前参加了学校的飞兆杯的比赛,题目是循迹小车,由于缺乏对于ldc1314芯片使用知识以及个人的能力原因,项目并没有做出来,但是还是学习了很多东西的。其中以树莓派的I2C通信为最。一、I2C简介I2C(Inter-IntegratedCircuit)总线是由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备。是微电子通信控制领域广泛采用的一种总线标准。它是同步通信的一种特殊

    2022年5月11日
  • input事件的获取

    input事件的获取loop线程已经运行起来了,如果不出意外,它是不会终止的;不妨以此为起点,再开始一段新的旅程,我要去探索input事件的获取。一EventHub构造函数EventHub是所有输入事件的中央处理站,凡是与输入事件有关的事它都管。上帝创造万事万物都是有原因的,看看构造它是出于什么目的。EventHub::EventHub(void):mBuiltInKeybo

    2022年6月10日
  • 阿里云原生数据仓库AnalyticDB MySQL版学习

    阿里云原生数据仓库AnalyticDB MySQL版学习阿里云原生数据仓库AnalyticDBMySQL版是融合数据库、大数据技术于一体的阿里云原生企业级数据仓库服务。AnalyticDBMySQL版支持高吞吐的数据实时增删改、低延时的实时分析和复杂ETL,兼容上下游生态工具,可用于构建企业级报表系统、数据仓库和数据服务引擎。AnalyticDBMySQL版的产品系列包含弹性模式和预留模式。计算分时弹性功能支持按照小时编排计算资源量,解决业务高峰期计算资源瓶颈,同时大幅降低了计算资源成本。计算资源池隔离功能支持按照不同的业务类型或优先级将计算任务

    2022年9月17日
  • RESTful API 设计指南

    RESTful API 设计指南

    2021年11月6日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号