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

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 微信H5页面 会被软键盘顶起来

    微信H5页面 会被软键盘顶起来

  • Word2vec原理及其Python实现「建议收藏」

    Word2vec原理及其Python实现「建议收藏」目录一、为什么需要WordEmbedding二、Word2vec原理1、CBOW模型2、Skip-gram模型三、行业上已有的预训练词向量四、用Python训练自己的Word2vec词向量一、为什么需要WordEmbedding在NLP(自然语言处理)里面,最细粒度的是词语,词语组成句子,句子再组成段落、篇章、文档。所以要处理NLP的问题,首先就要拿词语开刀…

  • django初探-创建简单的博客系统(二)建议收藏

    显示博客信息将博客内容保存到数据库还不是发布博客的终极目的,博客一定要显示出来,显示博客信息的基本知识如下图:显示文章标题获取数据当我们在./blog/models.py中创建了数据模型后,D

    2021年12月19日
  • java键值对_Java 读写键值对

    Properties类(读入写出键值对)是Map子类Map方法都能用publicstaticvoidmain(String[]args)throwsIOException{//读出Propertiespro=newProperties();FileInputStreamfis=newFileInputStream(“F:\\Demo.properties”);//Fi…

  • calendar java_java中Calendar类的使用讲解

    calendar java_java中Calendar类的使用讲解Calendar类是我们在工作中经常用到时间相关的一个工具类;比如月初、月末、年初、年末、指定月份所在季度的季末等操作,对它有更深入的了解,在工作中会起到事半功倍的效果,下面就来了解一下吧!!!**一.Calendar类概述Calendar是日历类,该类将所有可能用到的时间信息封装为静态成员变量,方便获取。常用方法如下如下://根据日历的规则,为给定的日历字段添加或减去指定的时间量。abstrac…

  • 规范化理论:多值依赖的理解_依赖关联泛化实现

    规范化理论:多值依赖的理解_依赖关联泛化实现多值依赖的定义我们用一个例子来引出多值依赖(MultivaluedDependency,MVD)的含义。假设学校中一门课程可由多名教师讲授,教学中他们使用相同的一套参考书,这样我们可用下图的非规范化的关系来表示课程C、教师T和参考书B间的关系。关系CTB如果关系CIB转化成规范化的关系,如图所示。规范后的关系CTB由此可以看出,规范后的关系模式…

    2022年10月25日

发表回复

您的电子邮箱地址不会被公开。

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