首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Java什么面向对象

参考链接: java 面对对象概念 什么面向对象呢?这个问题真的老生常谈,面试的时候经常问。到底什么面向对象。。。...,但是可以选择使用哪些方法)      我想大家很多时候都会看到上面的话吧,上面的我百度过来的,下面要说的才是我说的:      在一开始的时候,我也那样的回答,什么万物皆对象啊,什么都是对象什么的。...即使不知道对象里面的源码,知道这个方法什么的就行。     ...但是声明一点,java的编程,很多人只是知道new出来对象,创造对象,却不知道垃圾回收。...虽然java提供了很好的垃圾回收机制,但是就空间复杂度而言,还是要控制的,知道每个变量什么时候活的状态不能被回收,什么时候死的状态可以被回收,对于每一个开发都很重要,要在程序到达一个阶段,一个结束去思考一下

1.3K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Java-什么面向对象

    面向过程&面向对象 面向过程思想 步骤清晰简单,第一步做什么,第二步做什么........面对过程适合处理一些较为简单的问题 面向对象思想 物以类聚,分类的思维模式,思考问题首先会解决问题需要哪些分类,然后对这些分类进行单独思考。最后,才对某个分类下的细节进行面向过程的思索。...面向对象适合处理复杂的问题,适合处理需要多人协作的问题! 对于描述复杂的事物,为了从宏观上把握、从整体上合理分析,我们需要使用面向对象的思路来分析整个系统。...什么面向对象 面向对象编程(Object-Oriented Programming, OOP) 面向对象编程的本质就是:以类的方式组织代码,以对象的组织(封装)数据。...抽象 三大特性: 封装 继承 多态 从认识论角度考虑先有对象后有类。对象具体的事物。类,抽象的,对象的抽象 从代码运行角度考虑先有类后有对象。类对象的模板。

    36310

    Java】基础11:什么方法 ?

    返回值类型:对应的返回值类型,void指无返回值。 方法名:methodName,满足标识符命名规则(小驼峰)。 ():参数列表,里面为空就是没参数。...上述情况最简单的方法样式,无参数无返回值 那有参数有返回值怎样的呢? 例:实现两个整数的求和计算 ?...定义方法的两个明确: 明确返回值类型:既然两个整数的求和,那返回值一定是整数 明确参数列表:在参数中定义int类型的整数变量,两个变量 注意事项: 方法与方法之间独立的,不能在方法里面定义一个方法。...,实参byte,也可以正常运行 不能在return后面写代码,return意味着方法的结束,后面的代码永远不会执行,属于未知代码 ?...所以①②(③或者⑧)④(⑤或者⑥)重载关系。 总结 ?

    88110

    Java】基础18:什么多态?

    面向对象三大特性:封装、继承和多态。 今天学最后一个特性:多态。 什么多态呢?按照字面意思理解就是多种形态的意思。 还是举昨天的那个例子: 动物园里动物都得吃食物,兔子吃胡萝卜,猫吃鱼,狗吃肉。...一、多态的格式 1.格式说明:父类引用指向子类对象。 ? 具体什么意思呢? 变量有基本数据类型和引用数据类型。 其中引用数据类型又分为:数组,类和接口。...②运行结果看右边,Rabbit对象,那么会执行Rabbit中重写的eat()方法,也就是“兔子吃胡萝卜”。 二、多态的好处 既然面向对象三大特性,那它有啥好处呢?...这就叫代码的可拓展性,以后无论删减哪种动物,或者添加哪种动物,这个方法都可以使用,不用改变。 三、多态的弊端 多态这么方便,那它有没有什么弊端呢? 有的。...为了避免出现类转换异常,Java提供了一个关键字:instanceof,给变量名做类型的校验。 ?

    60910

    什么window对象? 什么document对象?

    在浏览器环境中,window 对象和 document 对象是 JavaScript 提供的两个核心对象。 window 对象: window 对象表示浏览器窗口或标签页。...它是 JavaScript 中的全局对象,在浏览器环境中始终存在且可直接访问,无需引入额外的代码。 window 对象具有许多属性和方法,用于操作和控制浏览器窗口。...: document 对象代表当前窗口或标签页中加载的 HTML 文档。...它是 window 对象的一个属性,用于访问和操作文档的内容、结构和样式。 document 对象提供了许多方法和属性,用于查询和修改文档中的元素、创建、删除和修改元素、处理事件等。...window 对象和 document 对象只在浏览器环境中存在,并且具体的功能和属性可能因浏览器的不同而略有差异。

    41720

    Java】基础38:什么递归?

    ①创建一个文件对象 因为目录的遍历,所以在路径中填写目录的路径。②list方法 list,列表的意思,一个文件夹里面有几个文件夹或者文件,这就是一个获取文件夹里的列表的方法。...什么阶乘? 5的阶乘:5!=5×4×3×2×1; 4的阶乘:4!=4×3×2×1。 这就是阶乘。 现有一个需求:求一个数的阶乘?...看到没有,什么递归? 递归就是指在方法里面调用自己的方法这种现象。 就像我们在数学中的找规律一样,先把规律找出来,再创建方法。 ④如果负数,因为负数没有阶乘的,直接返回-1,或者报错。...因为它在文件操作中会使用到它,并且既然学习Java,也有必要理解下递归的概念。 三、递归删除多级目录 根据我们昨天学的File类中的方法。...②delete方法中如果file对象是文件 文件的话,可以使用delete方法直接删除。 ③如果文件夹,我们需要遍历 将文件夹遍历,使用我们一开始学到的listFiles方法。

    67720

    Java】基础17:什么接口?

    都说学计算机,写代码一件挺枯燥乏味的事情,现在看来也挺有趣的嘛。 今天就让我们走进程序的世界,研究下什么接口?...这就叫规则,所以我们常说写接口在干啥,在制定规则。 我制定了一个规则,具体啥内容我不写。任何实现类要实现我这个接口,就得写清楚。...什么时候有需求了重写就好,也可以一直不重写方法。 现在有一只兔子,没有名字,那就用接口的默认名(动物),突然有一天想给它取了一个新名字,小白,怎么办?...四、抽象类 在接口的抽象方法中,提到了一个概念,抽象类。 这个抽象类又是啥呢? 抽象类:有抽象方法的类就叫抽象类。如果一个类包含抽象方法,那么该类必须抽象类。...相同点; 都不能创建对象,也就是没法实例化,只能通过子类/实现类来创建对象。 子类/实现类必须重写抽象方法。

    75910

    Java】基础28:什么异常?

    那为什么会闪退呢? 就是程序它遇到了问题,又没有及时地处理,便只有崩溃了。而这种情况,便是异常。 在Java世界里面,异常指的是程序在执行过程中,出现的非正常的情况,最终会导致JVM的非正常停止。...那么出现了异常Java里面如何处理的? 我们举一个抛绣球的例子来说明下jvm处理异常流程。 好,现在有一个异常,被Java虚拟机知道了。 这个异常就相当于绣球。...在Java世界里面:出现了异常,然后都不处理,一直往前抛,最终抛给了Java虚拟机。 于是Java虚拟机非常地生气,打印错误信息,终止了程序。 程序终止这件事情在开发过程中能不出现就不要出现的。...因为用户不确定的,就比如说用户银行卡里只有10块钱,它提现时硬是要输入10000块,这就会出现异常。 如果Java虚拟机来处理,程序就直接崩溃了呀,这样显然不行的。...方式一:throw 因为Java里面异常本身就是一个类,所以创建对应的异常对象,再抛出说明。

    67110

    Java】基础12:什么数组?

    小结: 当数据确定时,可以使用格式二或者格式三来定义数组,这种方式也静态定义。 当数据不确定时,可以使用格式一来定义数组,这种方式也叫动态定义。...3数组的访问: 在定义好数组后,打印它显示出来的一串字符而不是具体的数组 ? 那这是为什么呢? 打印出来的这串字符其实是数组的一个地址,那如何去访问具体的数值呢?...这就需要借助于索引了,什么索引? 每个存入数组的数值都会有一个对应的角标,这就是索引,并且索引从0开始的。 访问具体数值的格式:数组名[索引];获取数值后直接打印就好了。 4数组的长度属性 ?...从中我们可以知道: 整数类型数组默认值0 小数类型数组默认值0.0 字符类型数组默认值空 布尔类型数组默认值false 引用数据类型数组默认值null 二、数组原理内存图 1.内存的概念 内存一个很常见的概念...JVM作为Java虚拟机,它要运行程序,自然要对内存进行划分和管理: 寄存器:给CPU使用 本地方法栈:JVM在使用操作系统功能的时候使用 方法区:存储可以运行的class文件 堆内存:存储对象或者数组

    96410

    Java】基础44:什么网络编程?

    对于我们学Java的来说,自然与服务端打交道了,其中主要接触的B/S架构 ? 说完了软件架构,那什么网络呢? 网络本质上指多台计算机之间的数据交换。...其中网络三要素:IP地址、端口和协议 二、网络三要素之协议 什么协议? 用一个例子来理解,现在国际上一个日本人和一个德国人语言不通,它们用什么语言交流?用英语。...所以在网络里面,协议定义的通信规则,没有协议的话就像日本人在说日语,德国人说德语根本就没法交流。 其中应用最广泛的TCP协议: 1.TCP协议 ①TCP称为传输控制协议。...就比如说视频聊天,我们最在乎的是什么不能卡,不能有延迟,我宁愿丢失几帧的数据(视频数据有稍许丢失对用户影响不大),不卡就行,所以要求就是效率要高。...三、网络三要素之IP 1.定义 IP英文Internet Protocol的缩写。意思“网络之间互连的协议”,也就是为计算机网络相互连接进行通信而设计的协议。

    60110

    什么面向对象? Java 的灵魂概念

    类和对象 1.1 什么面向过程?什么又是面向对象?...类抽象的,不占用内存,而真正根据类实例化出具体的对象,就需要占用内存空间了。 1.3 成员变量和局部变量有什么区别?...1.3.1 为什么局部变量存在于栈中而不是堆中 有一个问题,在我们学习 Java 中内存分配的时候,有这样一句话,“堆内存用来存放 new 创建的对象和数组”。...1.6.1 什么静态方法 static 修饰的方法一般叫做静态方法,静态方法不依赖于对象访问,因此没有 this 的概念(this 代表所在类的对象引用),正因如此静态方法能够访问的成员变量和成员方法也都必须静态的...1.6.3 什么 静态代码块 静态代码块在类中(方法中不行)使用static关键字和{} 声明的代码块 static { ...

    48520

    什么 Java 对象深拷贝?面试必问!

    介绍 在Java语言里,当我们需要拷贝一个对象时,有两种类型的拷贝:浅拷贝与深拷贝。 浅拷贝只是拷贝了源对象的地址,所以源对象的值发生变化时,拷贝对象的值也会发生变化。...接下来我们将详细描述如何深拷贝User对象。 方法一 构造函数 我们可以通过在调用构造函数进行深拷贝,形参如果基本类型和字符串则直接赋值,如果对象则重新new一个。...), copyUser.getAddress().getCity()); } 方法三 Apache Commons Lang序列化 Java提供了序列化的能力,我们可以先将源对象进行序列化,再反序列化生成拷贝对象...但是,使用序列化的前提拷贝的类(包括其成员变量)需要实现Serializable接口。Apache Commons Lang包对Java序列化进行了封装,我们可以直接使用它。...), copyUser.getAddress().getCity()); } 方法五 Jackson序列化 Jackson与Gson相似,可以将对象序列化成JSON,明显不同的地方拷贝的类(包括其成员变量

    93730

    什么面向对象

    面向对象的特征有3个,封装、继承、多态。至于抽象的话,个人认为,应该是前面3大特征中都有抽象的思想,毕竟面向对象本身就是一种抽象。...明白了3大特征,我们就具体来讲解下: l 封装 n 对象和类的主要概念,把具体的某一个事物抽象成我们代码中的某一个类,并且这个类有自己内部私有的方法,不让外部随意的访问,当然。...n OOP语言中,一个类可以继承多个父类,在Java中,这样不可取的。但是在一些情况下我们需要多重继承的特性的,所以有了折中的方法:接口和内部类,接口在下面讲,我们这里先讲内部类。 ?...,灵活,便于拓展 ---- 五大设计原则:单一功能、开闭原则、里氏替换、接口隔离以及依赖反转 l 单一功能 :认为对象应该仅具有一种单一功能的概念。...之所以这样是因为,如果一个对象具有太多的功能,一旦某个功能需要修改,整个对象都会重新编译,一旦有一些错误的代码修改了其他的功能,那我们的风险就会剧增。 l 开闭原则:针对拓展开放,针对修改关闭。

    1.2K60

    什么类?什么又是对象?

    什么类?什么又是对象? 类:就是具有相同属性和功能的一类事物 对象:就是类的具体表现形式 具体一些:先解释解释什么车?...说第二个优点之前,先看看什么面向对象。 面向对象的程序设计的核心对象(上帝式思维),要理解对象为何物,必须把自己当成上帝,上帝眼里世间存在的万物皆为对象,不存在的也可以创造出来。 什么类?...什么又是对象? 类:就是具有相同属性和功能的一类事物 对象:就是类的具体表现形式 具体一些:先解释解释什么车? 有轱辘, 有方向盘, 有发动机, 会跑的车. 好. 在解释一个. 什么人....有名字, 年龄, 爱好, 会唱歌跳舞思考的人.那么广义上车,人就是类:但是具体的我的车,你这个人这是一个对象。 猫,一类,你们家养的 大橘。 狗,一类,隔壁家养的那只二哈就是对象。...面向对象思维, 要自己建立对象. 自己建立场景. 你就是面向对象世界中的上帝. 你想让车干嘛就干嘛. 你想让人干嘛人就能干嘛。

    1.1K20

    什么Java字符串不可变对象

    本文主要来介绍一下Java中的不可变对象,以及Java中String类的不可变性,那么为什么Java的String类不可变对象?让我们一起来分析一下。...答案一: 最流行的Java面试题之一就是:什么不可变对象(immutable object),不可变对象什么好处,在什么情况下应该用,或者更具体一些,Java的String类为什么要设成immutable...不可变对象,顾名思义就是创建后不可以改变的对象,典型的例子就是Java中的String类。...字符串常量池的需要 字符串常量池(String pool, String intern pool, String保留池) Java堆内存中一个特殊的存储区域, 当创建一个String对象时,假如此字符串值已经存在于常量池中...事实上,这也是Java面试中的许多 “为什么” 的答案。 答案三:String类不可变性的好处 String所有语言中最常用的一个类。我们知道在Java中,String不可变的、final的。

    53720
    领券