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/114480.html原文链接:https://javaforall.net

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


相关推荐

  • MCTS学习笔记「建议收藏」

    MCTS学习笔记「建议收藏」MCTS树学习MCTS,即蒙特卡罗树搜索,是一类搜索算法树的统称,可以较为有效地解决一些搜索空间巨大的问题。如一个8*8的棋盘,第一步棋有64种着法,那么第二步则有63种,依次类推,假如我们把第一步棋作为根节点,那么其子节点就有63个,再往下的子节点就有62个……如果不加干预,树结构将会繁杂,MCTS采用策略来对获胜性较小的着法不予考虑,如第二步的63种着法中有10种是不可能胜利的,那么这十个…

    2022年6月28日
    21
  • 3.5使用RangeValidator控件

    3.5使用RangeValidator控件使用RangeValidator控件检测表单字段的值是否在指定的最小值和最大值之间五个属性:ControlToValidate—被验证的表单字段的IDText--验证失败时显示的错误信息MininumValueMaxinumValueType-比较类型:String,Integer,Double,Date和Currency默认为String[code…

    2022年7月14日
    13
  • 用eclipse创建JAVA程序的步骤

    用eclipse创建JAVA程序的步骤如何使用Eclipse进行Java程序开发一般分为如下4个步骤:一、创建Java项目二、创建程序包三、编写Java源程序四、运行Java程序1、创建Java项目1.1打开eclipse1.2点击顶部菜单栏File->New->JavaProject,输入项目名2、创建程序包点击顶部菜单栏,File->New->Package,…

    2022年7月7日
    22
  • Java_InetAddress类[通俗易懂]

    Java_InetAddress类[通俗易懂]InetAddress类地址的表示域名IP地址获取地址获取Internet上主机的地址获取本地机的地址地址的表示Internet上的主机有两种表示地址的方式:域名、IP地址域名例如:www.henu.edu.cnIP地址例如:202.108.35.210java.net包中的InetAddress类对象含有一个Internet主机地址的域名和IP地址:www.sina.com.cn/202.108.35.210域名容易记忆,在连接网络时输入一个主机的域名后,域名服务器(DNS)负责将域名转

    2022年6月23日
    22
  • linux运维面试题大厂,大厂Linux运维面试题详解「建议收藏」

    linux运维面试题大厂,大厂Linux运维面试题详解「建议收藏」大厂面试题:网络基础类面试题01.Linux运维经典面试题_网络基础-视频介绍02.Linux运维经典面试题_网络基础-面试题103.Linux运维经典面试题_网络基础-面试题204.Linux运维经典面试题_网络基础-面试题3Linux系统管理类面试题05.Linux运维经典面试题_Linux系统管理类-权限优化06.Linux运维经典面试题_Linux系统管理类-备份策略07.Linux运维经…

    2022年5月27日
    31
  • @RequestParam和@PathVariable的用法与区别

    @RequestParam和@PathVariable的用法与区别SpringBoot——@PathVariableURL变量Web应用中的URL通常不是一成不变的,例如微博两个不同用户的个人主页对应两个不同的URL:http://weibo.com/user1和http://weibo.com/user2。我们不能对于每一个用户都编写一个被@RequestMapping注解的方法来处理其请求,也就是说,对于相同模式的URL(例如不同用户的主页,他们…

    2022年6月28日
    19

发表回复

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

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