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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Python 读取txt文件数据逗号为分隔符「建议收藏」

    Python 读取txt文件数据逗号为分隔符「建议收藏」fname=’./data/loc.txt’withopen(fname,’r+’,encoding=’utf-8′)asf:s=[i[:-1].split(‘,’)foriinf.readlines()]

    2022年5月13日
    58
  • 在vscode中安装python第三方库

    在vscode中安装python第三方库打开vscode,点击终端,选择新建终端在弹出的窗口中输入以下命令:pipinstall第三方库的名称以安装numpy为例,输入pipinstallnumpy,点击回车,安装成功之后会显示如下信息:Requirementalreadysatisfied:numpyind:\python\lib\site-packages(1.20.3)已经满足的需求:numpy在d:python\lib\site-packages(1.20.3)…

    2022年10月7日
    2
  • VS PDB文件详解

    VS PDB文件详解转自https://blog.csdn.net/feihe0755/article/details/54233714PDB文件的介绍PDB(ProgramDataBase),意即程序的基本数据,是VS编译链接时生成的文件。PDB文件主要存储了VS调试程序时所需要的基本信息,主要包括源文件名、变量名、函数名、FPO(帧指针)、对应的行号等等。因为存储的是调试信息,所以一般情况下PDB…

    2022年5月5日
    143
  • 阿里云服务器搭建及项目部署过程—小白篇

    阿里云服务器搭建及项目部署过程—小白篇最近学习了前后端的相关技术,就想租一个服务器试一下,玩一玩,简单了解了一下阿里云的服务器,简单介绍一下:一:什么是云服务器ECS是阿里云产品体系中,最基础的计算服务,通常用作应用程序的运行环境,最重要的特点是弹性。二:基础运行环境用户的应用程序运行在实例的操作系统上三:特点弹性:容量不够可以直接在云服务器上扩展配置,只要直接补差价成本:0运维,支持包年包月或按量计费…

    2022年6月23日
    45
  • Android物联网应用程序开发(智慧城市)—— 摄像头监控界面开发「建议收藏」

    Android物联网应用程序开发(智慧城市)—— 摄像头监控界面开发「建议收藏」效果:布局代码:<?xmlversion=”1.0″encoding=”utf-8″?><RelativeLayoutxmlns:android=”http://schemas.android.com/apk/res/android”xmlns:app=”http://schemas.android.com/apk/res-auto”xmlns:tools=”http://schemas.android.com/tools”android

    2022年6月18日
    26
  • HTML/CSS 常见面试题汇总

    HTML/CSS 常见面试题汇总HTML面试题1、<image>标签上title属性与alt属性的区别是什么?alt属性是为了给那些不能看到你文档中图像的浏览者提供文字说明的。且长度必须少于100个英文字符或者用户必须保证替换文字尽可能的短。这包括那些使用本来就不支持图像显示或者图像显示被关闭的浏览器的用户,视觉障碍的用户和使用屏幕阅读器的用户等。title属性为设置该属性的元素提供建议性的信息。使用ti…

    2022年5月31日
    32

发表回复

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

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