JavaSE什么是面向对象?
重点!!!面向对象
面向过程与面向对象
面向过程和面向对象都是程序设计的一种风格(思想);
面向过程的程序思想
面向过程编程是一种程序设计范式,它将程序分解为一系列的步骤或过程,每个过程依次执行以完成特定的任务。在面向过程编程中,数据和方法是分离的,程序主要关注解决问题的步骤和流程,而不是对象之间的交互。
- 关注焦点是过程:过程就是操作数据的步骤。如果某个过程的实现代码重复出现,那么就可以把这个过程抽取成一个函数,这样就可以大大简化沉余代码,便于维护。
- 是以函数(一个一个的功能)为结构进行代码组织
- 相对于面向对象语言,扩展能力差,后期维护难度较大
面向对象程序思想
面向对象编程(Object-Oriented Programming,OOP)是一种程序设计范式,它以对象为基本单元,将数据和操作数据的方法封装在对象中,通过对象之间的交互来实现程序的功能。面向对象编程强调的是对象的概念和对象之间的关系,使程序更易于理解、扩展和维护。
- 关注焦点是类:在计算机程序设计过程中,参照现实中事物,将事物的属性特征,行为特征抽象出来,用类来表示。
- 以类为单位进行组织,每种事物都具备自己的属性和行为/功能类:一类问题/分类 String,Math,Array,Scanner······
- 以类为模版实例化对象,通过对象之间的交换来实现某种功能
- 是一种设计思维,适合解决复杂问题。代码扩展性强,可维护性高
public class 类名{
}
注:千万不要把面向过程和面向对象对立起来,他们是相辅相成的。面向对象离不开面向过程!
区别:面向过程适合简单的问题.
面向对象适合复杂的问题,先宏观的分类设计,具体的某一个步骤落地时,有需要面向过程,他们是相辅相成的
类和对象(面向对象的核心概念)
类:
概念:是具有相同特征的事物的抽象描述,是对对象的概括和总结
类的结构
变量:事物属性的描述(名词)
方法:事物的行为(可以做的事情 动词)
构造方法:初始化对象
块:没有名字的一个代码块
内部类:在类的内部定义的类
类的声明格式
[访问权限修饰符][修饰符]class{ }
访问修饰符有两种public,无(默认)
修饰符:final,abstract
关键字class用来定义一个类
Java类名的命名规范:
类名首字母大写,见名知意,驼峰表示
对象:(Everything is an object)
概念:实际存在的该类事物的每个个体 ,也称为实例;以类为模板在内存中创建的实际存在的实例
eg:人类-->一类群体 概念
张三-->具体的人,对象
- 同一个类的每个对象有不同存储空间
package day5;
import java.sql.SQLOutput;
public class Car {
/*
定义属性 成员变量 直接在类{} 中定义内容,称为类的成员
*/
String name;
String color;
int price;//不需要初始化
/*
定义方法 成员方法
*/
public void run(){
System.out.println("汽车行驶");
}
public void stop(){
System.out.println("汽车停止");
}
}
package day5;
public class TestCar {
public static void main(String[] args) {
Car car=new Car();//
//new这个运算符来创建一个对象。new的结果是一个对象的引用
//new以Car类为模板,块独立的空间在内存中开辟一空间,用来存储对象信息
/*
Car(类型)car(变量名)声明一个Car变量=[把右边的对象地址赋值给左边的变量,用变量在后面的程序中表示内存中的对象]
*/
car.name="宝马";
car.color="黑色";
car.run();
}
}
JavaSE什么是面向对象?的更多相关文章
- Javase系列之面向对象(一)
作为一个Java程序员,我们每天做的事情就是OOP(面向对象),可以说万物皆对象,Java是一门面向对象的程序语言,鉴于基本的面向对象知识也是一个较为庞杂的模块,所以博主我准备用多篇文章去介绍Java ...
- javase(5)_面向对象
一.概述 1.面向对象是一种思想,让我们由执行者变成指挥者,执行者是面向过程,指挥者是面向对象.例如人开冰箱门,开冰箱门这个动作应该属于门而不是人,冰箱自己最清楚门应该怎么开,人只是调用了冰箱的这个动 ...
- JavaSE (五)面向对象 -- 概述
个人博客网:https://wushaopei.github.io/ (你想要这里多有) 目录 一.面向对象的主线 二.面向对象 VS 面向过程 三 . java最基本的两个要素 - 类和对象 ...
- JavaSE (六)面向对象 -- 类的结构
个人博客网:https://wushaopei.github.io/ (你想要这里多有) 目录 一.属性(变量) 1.变量的分类: 二.方法 1.例子: 2.格式: 3.方法的说明: 4.ret ...
- JavaSE 面试题总结
一. JavaSE 4 1. 面向对象的特征有哪些方面 4 2. String是最基本的数据类型吗? 4 3. super()与this()的区别? 4 4. JAVA的事件委托机制和垃圾回收机制 4 ...
- Java学习第一天
Java学习第一天 对于网络管理员或者黑客必须知道的八个cmd命令 详情请参考:http://www.2cto.com/os/201608/533964.html nbtstat ...
- Android开发环境配置(win7_64bit)
Android开发环境配置(win7_64bit) 目录 1.概述 2.Android开发涉及的技术 3.Android常用开发环境搭建 4.注意事项 >>看不清的图片可在新标签打开查看大 ...
- JavaSE回顾及巩固的自学之路(四)——————方法和数组,面向对象
今天是2018.03.31,emmmmmm.好像距离上一次写Javase回顾总结已经好久好久过去,差一点就以为要停更了,哈哈哈. 其实呢,最近是真的好忙(额,这段时间觉得自己一直在学习) ...
- JavaSE入门学习21:Java面向对象之接口(interface)(二)
一接口实现的多态 在上一篇博文:JavaSE入门学习20:Java面向对象之接口(interface)(一)中提到了接口的实现存在多态性,那么 这一篇主要就要分析接口实现的多态. 实例一 Test.j ...
- JavaSE入门学习23:Java面向对象之构造方法
学了JavaSE面向对象这一部分,也该对构造方法做一个总结了. 一构造方法 在多数情况下,初始化一个对象的终于步骤是去调用这个对象的构造方法. 构造方法负责对象的初始化工作,为 实例变量赋予合适的初始 ...
随机推荐
- win11设置笔记本合盖不睡眠
win11设置笔记本合盖不睡眠 直接搜索控制面板,类型选择大图标,找到电源选项 点击进入电源选项,然后点击选择电源按钮的功能 然后就可以看到一个关闭盖子时,设置成不采取任何操作 然后就可以了
- HarmonyOS NEXT应用开发之MpChart图表实现案例
介绍 MpChart是一个包含各种类型图表的图表库,主要用于业务数据汇总,例如销售数据走势图,股价走势图等场景中使用,方便开发者快速实现图表UI.本示例主要介绍如何使用三方库MpChart实现柱状图U ...
- Quick BI新版本功能解读系列之-V3.5
前言Quick BI V3.5版本于2019年11月底正式发布啦!本次大版本在智能.开放.以及可视化等方面都有重磅上新,具体包含智能小Q.开放数据服务.主题模板.以及散点图.地图系列等一系列功能的发布 ...
- RocketMQ 5.0: 存储计算分离新思路
简介: 在阿里云上,RocketMQ 的商业化产品也以弹性云服务的形式为全球数万个用户提供企业级的消息解决方案,被广泛应用于互联网.大数据.移动互联网.物联网等领域的业务场景,成为了业务开发的首选消息 ...
- Flink 如何实时分析 Iceberg 数据湖的 CDC 数据
简介: 数据湖的架构中,CDC 数据实时读写的方案和原理 本文由李劲松.胡争分享,社区志愿者杨伟海.李培殿整理.主要介绍在数据湖的架构中,CDC 数据实时读写的方案和原理.文章主要分为 4 个部分内容 ...
- [ML] 通过llama.cpp与羊驼聊天的网页界面- 详解 Serge 的启动使用
Serge 虽然能够让我们在笔记本上跑起来 7B模型, 但实际运行非常消耗CPU,对话生成响应非常非常慢. 1. 官方指导是使用如下命令直接运行: $ docker run -d -v weigh ...
- CF1912K
题意:给定一个长度为 n 的序列,求有多少个子序列满足该子序列内任意相邻 3 个数的和为偶数. 只与奇偶有关,所以可以把状态转化为 01 的. 设 \(f[i][x][y]\) 表示在前 i 个数中, ...
- Android项目自动生成uml图(以小米便签为例)
摘要 最近在学习软件工程,需要完成小米便签的精读,任务中需要详细类图,由于项目巨大,手动画图打咩,试了一下午的android studio,试了诸如code iris,SequenceDigram(只 ...
- 文件上传--php user.ini详解
文件上传 参考文档:https://www.php.net/manual/zh/configuration.file.per-user.php 如果你的 PHP 以模块化运行在 Apache 里,则用 ...
- docker 搭建LNMP环境
php7 仓库地址 https://gitee.com/haima1004/docker-lnmp