Java基础面向对象介绍

简介: Java基础面向对象介绍

面向对象和面向过程的区别:


**面向过程:**主要关注点是:实现的具体过程,因果关系【集成显卡的开发思路】

优点:对于业务逻辑比较简单的程序,可以达到快速开发,前期投入成本较低

缺点:采用面向过程的方式开发很难解决非常复杂的业务逻辑,另外面向过程的方式导致软件元素之间的‘耦合度’非常高,只要其中一环出问题,整个系统受到影响,导致最终的软件“扩展力”差。另外,由于没有独立体的概念,所以无法达到组件复用

**面向对象:**主要关注点是:主要关注对象【独立体】能完成哪些功能。【独立显卡的开发思路】

优点:耦合性低,扩展力强。更容易解决现实世界当中更复杂的业务逻辑。组件复用性强。

缺点:前期投入成本较高,需要进行独立体的抽取,大量的系统分析与设计。

面向对象的分析:OOA


面向对象的设计:OOD


面向对象的编程:OOP


类和对象的概念


什么是类?


类在现实世界当中是不存在的,是一个模板,是一个概念。是人类大脑思考抽象出的结果。

类代表了一类事物。

在现实世界当中,对象A与对象B之间具有共同特征,进行抽象总结出一个模板,这个模板被称为类


什么是对象


对象是实际存在的个体。现实世界当中实际存在。

描述一下整个软件开发的过程:

程序员先观察现实世界,从现实世界当中实际存在

寻找了N多个对象后,发现所有的对象都有共同特征

程序员在大脑中形成了一个模板【类】

java程序员可以通过java代码来表述一个类

java程序中有了类的定义

然后通过类就可以创建对象,有了对象之后,可以让对象直接协作起来形成一个系统


重点:


类描述的是对象的共同特征。共同特征例如:身高特征这个身高特征在访问的时候,必须先创建对象,通过对象去访问这个特征因为这个特征具体在某个对象上之后的值不同。有的对象身高1.80,有的对象身高身高2.80


一个类主要描述什么信息呢?


一个类主要描述的是 状态 + 动作,状态信息:名字,身高,性别,年龄,动作信息:吃,唱歌,跳舞,学习


状态--> 一个类的属性

动作--> 一个类的方法

    *  类--【实例化】->对象

 * 对象又被称为实例/instance

 * 对象--【抽象】-->类


类{
属性;//描述对象的状态信息
 方法;//描述对象的动作信息
}


注意:


状态和动作当具体到某个对象之后,发现最终的结果可能不一样。

对象和对象之间有共同特征,但是具体到对象之后有数据的差异。


类的定义


语句结构:


[修饰符列表] class 类名{
      属性;
    方法;
 }


学生类,描述所有学生对象的共同特征:

学生对象有哪些状态信息:


学号【int】

姓名【String】

性别【boolean】

年龄【int】

住址【String】

学生对象有哪些动作信息:

   * 吃,唱歌,跳舞,学习


基本数据类型


byte


short


int


long


float


double


boolean


char


引用数据类型


String.class SUN提供

System.class SUN提供


Student.class 程序员自定义的

User.class 程序员自定义的

Product.class 程序员自定义的

Customer.class 程序员自定义的


相关文章
|
28天前
|
Java
java中面向过程和面向对象区别?
java中面向过程和面向对象区别?
22 1
|
2月前
|
JavaScript 前端开发 Java
还不明白面向对象? 本文带你彻底搞懂面向对象的三大特征(2024年11月Java版)
欢迎来到我的博客,我是瑞雨溪,一名热爱JavaScript和Vue的大一学生。如果你从我的文章中受益,欢迎关注我,我将持续更新更多优质内容。你的支持是我前进的动力!🎉🎉🎉
25 0
还不明白面向对象? 本文带你彻底搞懂面向对象的三大特征(2024年11月Java版)
|
3月前
|
存储 缓存 Java
java基础:IO流 理论与代码示例(详解、idea设置统一utf-8编码问题)
这篇文章详细介绍了Java中的IO流,包括字符与字节的概念、编码格式、File类的使用、IO流的分类和原理,以及通过代码示例展示了各种流的应用,如节点流、处理流、缓存流、转换流、对象流和随机访问文件流。同时,还探讨了IDEA中设置项目编码格式的方法,以及如何处理序列化和反序列化问题。
95 1
java基础:IO流 理论与代码示例(详解、idea设置统一utf-8编码问题)
|
2月前
|
Java 关系型数据库 数据库
面向对象设计原则在Java中的实现与案例分析
【10月更文挑战第25天】本文通过Java语言的具体实现和案例分析,详细介绍了面向对象设计的五大核心原则:单一职责原则、开闭原则、里氏替换原则、接口隔离原则和依赖倒置原则。这些原则帮助开发者构建更加灵活、可维护和可扩展的系统,不仅适用于Java,也适用于其他面向对象编程语言。
44 2
|
4月前
|
Java 编译器
封装,继承,多态【Java面向对象知识回顾①】
本文回顾了Java面向对象编程的三大特性:封装、继承和多态。封装通过将数据和方法结合在类中并隐藏实现细节来保护对象状态,继承允许新类扩展现有类的功能,而多态则允许对象在不同情况下表现出不同的行为,这些特性共同提高了代码的复用性、扩展性和灵活性。
封装,继承,多态【Java面向对象知识回顾①】
|
4月前
|
安全 Java API
【Java面试题汇总】Java基础篇——String+集合+泛型+IO+异常+反射(2023版)
String常量池、String、StringBuffer、Stringbuilder有什么区别、List与Set的区别、ArrayList和LinkedList的区别、HashMap底层原理、ConcurrentHashMap、HashMap和Hashtable的区别、泛型擦除、ABA问题、IO多路复用、BIO、NIO、O、异常处理机制、反射
|
4月前
|
Java
java中面向过程和面向对象区别?
java中面向过程和面向对象区别?
39 4
|
4月前
|
Java
接口和抽象类【Java面向对象知识回顾②】
本文讨论了Java中抽象类和接口的概念与区别。抽象类是不能被实例化的类,可以包含抽象和非抽象方法,常用作其他类的基类。接口是一种纯抽象类型,只包含抽象方法和常量,不能被实例化,且实现接口的类必须实现接口中定义的所有方法。文章还比较了抽象类和接口在实现方式、方法类型、成员变量、构造方法和访问修饰符等方面的不同,并探讨了它们的使用场景。
接口和抽象类【Java面向对象知识回顾②】
|
3月前
|
存储 Java 程序员
Java基础-面向对象
Java基础-面向对象
30 0
|
5月前
|
Java 数据处理 开发者
【Java基础面试十二】、说一说你对面向对象的理解
这篇文章阐述了面向对象是一种以类和对象为基础,通过封装、继承和多态等概念来模拟现实世界中的事物及其相互关系的程序设计方法,它强调以事物为中心进行思考和系统构造,与结构化程序设计相比,更符合人类的自然思维方式。
【Java基础面试十二】、说一说你对面向对象的理解