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面向对象这一部分,也该对构造方法做一个总结了. 一构造方法 在多数情况下,初始化一个对象的终于步骤是去调用这个对象的构造方法. 构造方法负责对象的初始化工作,为 实例变量赋予合适的初始 ...
随机推荐
- Kotlin泛型的高级特性
Kotlin中是可以将内联函数中的泛型进行实化的. 那么具体该怎么写才能将泛型实化呢?首先,该函数必须是内联函数才行,也就是要用inline 关键字来修饰该函数.其次,在声明泛型的地方必须加上reif ...
- 如何用一行 CSS 实现 10 种现代布局
现代 CSS 布局使开发人员只需按几下键就可以编写十分有意义且强大的样式规则.上面的讨论和接下来的帖文研究了 10 种强大的 CSS 布局,它们实现了一些非凡的工作. 01. 超级居中:place-i ...
- js中this对象的理解
一.定义 函数的 this 关键字在 JavaScript 中的表现略有不同,此外,在严格模式和非严格模式之间也会有一些差别 在绝大多数情况下,函数的调用方式决定了 this 的值(运行时绑定) th ...
- 三款免费强大的SSH工具食用指南
食用清单 XShell FinalShell Electerm 食用方案 XShell 先说说老牌ssh工具XShell吧,用过很多年,说实话没啥别的毛病挺好用的.不过,还是有些地方有待加强,比如文件 ...
- NL2SQL技术方案系列(1):NL2API、NL2SQL技术路径选择;LLM选型与Prompt工程技巧,揭秘项目落地优化之道
NL2SQL技术方案系列(1):NL2API.NL2SQL技术路径选择:LLM选型与Prompt工程技巧,揭秘项目落地优化之道 NL2SQL基础系列(1):业界顶尖排行榜.权威测评数据集及LLM大模型 ...
- 顺通鞋服进销存OA管理系统
鞋服进销存OA管理系统通过十几年的积淀与创新,顺通与众多鞋服企业一起共创,形成了涵盖协同办公.移动办公.知识管理.数据运营.多维门户等领域,以鞋服新品研发管理.生产排班管理.门店一体化管理.市场费用管 ...
- 钉钉宜搭亮相“第二届ISIG中国产业智能大会”:云钉低代码,构建企业酷应用
简介:低代码年度行业盛会!钉钉宜搭创始人叶周全受邀出席并发表主题演讲. 12月8日,由中国电子技术标准化研究院指导,RPA中国.LowCode低码时代.信创中国联合举办的"第二届ISIG中 ...
- Oracle、达梦:生成32位字符串(ID)
15.生成32位字符串 达梦.oracle 函数:sys_guid().newid() 转小写LOWER(char) select rawtohex(sys_guid()); -- 推荐使用newid ...
- PLC输出指令频率F计算
本文章为学习记录,水平有限,望各路大佬们轻喷!!! 转载请注明出处!!!
- protobuf 文档
文档地址: https://golang-tech-stack.com/tutorial/pb 学习视频: https://www.bilibili.com/video/BV1Y3411j7EM?p= ...