首页 > 其他分享 >面向对象——什么是面向对象

面向对象——什么是面向对象

时间:2023-01-06 09:45:21浏览次数:38  
标签:lang java 对象 什么 reflect 面向对象 面向

面向对象——什么是面向对象

Java的核心思想就是OOP(面向对象)

面向过程&面向对象

面向过程思想

  • 步骤清晰简单,第一步做什么,第二步做什么(例如:吃饭,先买菜->洗菜->炒菜->吃)

  • 面向过程适合处理一些较为简单的问题

面向对象思想

  • 物以类聚,分类的思维模式,思考问题首先会解决问题需要哪些分类,然后对这些分类进行单独思考。最后,才对某个分类下的细节进行面向过程的思索。(比如:建一座大楼,你要找个房屋设计师去设计房屋建造的图纸,你还要一个地质勘探师去勘测该土地是否适合建筑大楼,你还要找个施工队去进行房屋建造等等)

  • 面向对象适合处理复杂的问题,适合处理需要多人协作的问题!

对于描述复杂的事物,为了从宏观上把握、从整体上合理分析,我们需要使用面向对象的思路来分析整个系统。但是,具体到微观操作,仍然需要面向过程的思路去处理。

对象+方法=类

什么是面向对象

面向对象编程(Object-Oriented Programming,OOP)

面向对象编程的本质就是:以类的方式组织代码,以对象的组织(封装)数据。

抽象

三大特性:

  • 封装

  • 继承

  • 多态

从认知角度考虑是先有对象后有类。对象,是具体的事物。类,是抽象的,是对对象的抽象。

从代码运行角度考虑是先有类后有对象。类是对象的模板。

每日Java面试题

一、Java反射机制类

java.lang.Class;//类
java.lang.reflect.Constructor;//构造方法
java.lang.reflect.Field;//类的成员变量
java.lang.reflect.Method;//类的方法
java.lang.reflect.Modifier;//访问权限

二、反射机制优缺点?

优点:运行期类型的判断,动态加载类,提高代码灵活度。

缺点:性能瓶颈:反射相对于一系列解释操作,通过JVM要做的事情,性能比直接的java代码要慢很多。

三、利用反射创建对象?

1.通过一个全限类名创建一个对象

Class.forName("全限类名");例如:com.mysql.jdbc.Driver Driver类已经被加载到jvm中,并且完成了类的初始化工作就行了

类名.class;获取Class<?>clz对象

对象.getClass();

2.获取构造器对象,通过构造器new出一个对象

Clazz.getConstructor([String.class])

Con.newInstance([参数]);

3.通过class对象创建一个实例对象(就相当与new类名()无参构造器)

Cls.newInstance();

标签:lang,java,对象,什么,reflect,面向对象,面向
From: https://www.cnblogs.com/cuijiuba/p/17029466.html

相关文章

  • 如何用 30s 给面试官讲清楚什么是 Session-Cookie 认证
    引言由于HTTP协议是无状态的,完成操作关闭浏览器后,客户端和服务端的连接就断开了,所以我们必须要有一种机制来保证客户端和服务端之间会话的连续性,也称为认证,最常见的应用......
  • 什么是 Expected Shortfall 相比 VaR 它有什么优点
    ES和VaR的区别在计算上很明显,在实际效果值得讨论。VaR是"分位值":对应的是分布中红线那个位置的值,翻译成人话就是:我有a%的把握明天的损失不会大于VaR(损失当然......
  • 为什么交换机可以隔离冲突域?
    (1)冲突域:定义:同一时间内只能有一台设备发送信息的范围分层:基于OSI的第一层物理层设备:第二层设备能隔离冲突域,比如Switch。交换机能缩小冲突域的范围,交换接的每一个端口就......
  • git连续提交365天是什么体验
    19天64天122天:33.3%1234次150天183天:50%200天20003分之2265天2468300天3000次提交90%进度333天最后5天挑战成功......
  • Serializable是什么?为什么在Entity层要实现Serializable接口
    我在做房产信息管理系统时用到了Serializable接口   Serializable含义:一个对象序列化的接口,一个类只有实现了Serializable接口,它的对象才能被序列化。Serializabl......
  • preparedStatement.setObject()为什么要这样写?
    setObject就是给JDBC的SQL语句的占位符赋值的,即是下面的“?”预编译的SQL:参数使用?作为占位符注意:sql的参数使用?作为占位符。如:select*fromuserwhereusername=?......
  • 为什么需要JS加密来保护你的代码
    防止代码被盗用:通过对代码进行混淆加密,可以使得攻1击者很难通过阅读代码来理解代码的功能和实现细节,从而防止代码被盗用。增强代码的安全性:混淆加密的代码可以更加安全,因为......
  • golang面向对象思想和实现
    golang中并没有明确的面向对象的说法,实在要扯上的话,可以将struct比作其它语言中的class。类声明typePoemstruct{TitlestringAuthorstringintrostring}这......
  • 面向对象OOP
    面向对象OOP面向对象什么是面向对象: 是一种编程思想,核心是对象,程序就是一系列对象的集合,程序员负责调度控制这些对象来交互着完成任务: 案例:西天取经 如......
  • 为什么巨头的 Flink 作业运行都在 YARN 上?(附源码)
    曾有人调侃:HBase没有资源什么事情也做不了,Spark占用了资源却没有事情可做? 那YARN了解一下?01YARN!伴随着Hadoop生态的发展,不断涌现了多种多样的技术组件Hive、HBase、Spa......