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


相关推荐

  • OPC服务器比较

    OPC服务器比较目前支持OPC服务器的组态软件有很多种,其中四种软件即:Intellution公司的iFIX(3.5)、GE公司的Cimplicity(6.0)、Wonderware公司的InTouch(9.5)以及Siemens公司的WinCC(6.0)应用最广、功能最强。Intellution公司和Wonderware公司是专门从事监控软件工作的,在市场占领绝大部分份额;Cimplicity和WinCC是GE

    2022年6月20日
    39
  • jrtplib for android,Jrtplib Android平台编译

    jrtplib for android,Jrtplib Android平台编译??jrtplib库使用C++语言实现,封装了RTP、RTCP协议的内容,可用于发送RTP数据包和RTCP数据包。RTP、RTCP协议本身不是很复杂的协议,使用该库可以免去实现协议的细节,但是如果要用好该库,最好对RTP、RTCP协议有一个比较清晰的了解。??本文介绍如何在AndroidStudio中通过编写CMakeList.txt文件,将下载好的jlibrtp库编译成动态库。此处关键…

    2022年7月28日
    11
  • vb中recordset的用法[通俗易懂]

    vb中recordset的用法[通俗易懂]SetRs=Server.CreateObject(“ADODB.Recordset”)Rs.OpenSource,ActiveConnection,CursorType,LockType,Options参数Source选择性参数:此Varian

    2022年7月15日
    12
  • pycharm中使用anaconda部署python环境_anaconda pycharm环境配置

    pycharm中使用anaconda部署python环境_anaconda pycharm环境配置总有那么多的知识点,看起来这么简单(其实解决的方法也很简单,无非是某个地方要加括号,要加双括号等小问题),但没有人好好讲的话会浪费很多时间。笔者先安装了Anaconda和Spyder,运行TensorFlow-GPU,最近安装了pycharm,想利用之前配置好的环境(省去依赖包的配置)。找了一些资源都没有将清楚。以下简洁版:1、新建项目,选择“Existinginterpreter”…

    2022年8月25日
    3
  • 2013-4-3 C#中alt键不是Keys.Alt 而是 Keys.LMenu

    2013-4-3 C#中alt键不是Keys.Alt 而是 Keys.LMenu

    2022年2月21日
    62
  • ios 文件操作[通俗易懂]

    ios 文件操作[通俗易懂][+]获取应用沙盒根路径获取Documents目录路径获取Library目录路径获取Cache目录路径获取Tmp目录路径创建文件夹创建文件写数据到文件读文件数据文件属性删除文件    iOS的沙盒机制,应用只能访问自己应用目录下的文件。iOS不像android,没有SD卡概念,不能直接访问图像、视频等内容。iOS应用产生的内容,如图像、文件、缓存内容等都必须存储在自己的沙

    2022年9月20日
    0

发表回复

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

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