首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

Java什么面向对象

参考链接: java 面对对象概念 什么是面向对象呢?这个问题真的是老生常谈,面试的时候经常问。到底什么是面向对象。。。...,什么都是对象什么的。...源码,很多方法都是由说明的,只要看懂说明调用就好了,没必要去死抠一些东西,如果想明白这个方法的用途,单扣这个方法就ok了。我想这也是面向对象的一个好处吧。...但是声明一点,java的编程,很多人只是知道new出来对象,创造对象,却不知道垃圾回收。...虽然java提供了很好的垃圾回收机制,但是就空间复杂度而言,还是要控制的,知道每个变量什么时候活的状态不能被回收,什么时候死的状态可以被回收,对于每一个开发都很重要,要在程序到达一个阶段,一个结束去思考一下

1.2K10

Java】基础38:什么递归?

什么阶乘? 5的阶乘:5!=5×4×3×2×1; 4的阶乘:4!=4×3×2×1。 这就是阶乘。 现有一个需求:求一个数的阶乘?...②在getResult,定义一个变量作为阶乘的结果。 ③for循环计算阶乘,并返回结果。 注意:0!=1,而不是想当然的以为等于0; 至于为什么为1,这是一个数学问题。 本质上n!=(n+1)!...看到没有,什么递归? 递归就是指在方法里面调用自己的方法这种现象。 就像我们在数学的找规律一样,先把规律找出来,再创建方法。 ④如果是负数,因为负数是没有阶乘的,直接返回-1,或者报错。...其中上述两种方法: for循环的方法要更加地实用简洁,使用递归的话效率会很低,一般使用的很少。 那为何还要学递归? 因为它在文件操作中会使用到它,并且既然是学习Java,也有必要理解下递归的概念。...三、递归删除多级目录 根据我们昨天学的File类的方法。 删除方法delete只能用来删除文件和空文件夹,它是没法直接删除非空文件夹的。

65720

Java】基础17:什么接口?

今天就让我们走进程序的世界,研究下什么接口? 一、接口的格式 还是以昨天的例子来理解接口: 动物园里有很多动物,分食草动物和食肉动物,食草动物又有小兔子等。 如何让这些动物进入动物园呢?...写到这,我突然又想起了现实生活的一个例子: 中学时语文作文,就一个题目或者一则材料,就得写一篇不少于800字的作文。 这写作文的过程不就相当于是实现接口的过程么?...什么意思呢? 动物园一开始制定的规则是:你想进动物园,必须说明你吃什么? 现在动物园想增加一个功能,就是想知道每个动物的名字叫什么?...什么时候有需求了重写就好,也可以一直不重写方法。 现在有一只兔子,没有名字,那就用接口的默认名(动物),突然有一天想给它取了一个新名字,小白,怎么办?...四、抽象类 在接口的抽象方法,提到了一个概念,抽象类。 这个抽象类又是啥呢? 抽象类:有抽象方法的类就叫抽象类。如果一个类包含抽象方法,那么该类必须是抽象类。

69710

Java】基础18:什么多态?

什么多态呢?按照字面意思理解就是多种形态的意思。 还是举昨天的那个例子: 动物园里动物都得吃食物,兔子吃胡萝卜,猫吃鱼,狗吃肉。...具体什么意思呢? 变量有基本数据类型和引用数据类型。 其中引用数据类型又分为:数组,类和接口。 父类类型指的是子类继承至的父类,或者子类实现的接口。 按照现实里面的理解就是:一个是亲爹一个是干爹。...②运行结果看右边,是Rabbit对象,那么会执行Rabbit重写的eat()方法,也就是“兔子吃胡萝卜”。 二、多态的好处 既然是面向对象三大特性,那它有啥好处呢?...三、多态的弊端 多态这么方便,那它有没有什么弊端呢? 是有的。多态不能调用子类的特有方法,需要使用到强制转换。 ? 兔类中有一个特有的方法jump(),兔类的父接口Zoo没有这个方法。...为了避免出现类转换异常,Java提供了一个关键字:instanceof,给变量名做类型的校验。 ?

58710

Java】基础28:什么异常?

闪退,我们在使用手机或者电脑的过程,有时会遇到这种情况,这也是用户最讨厌的情况之一。 一般一个开发软件,如果时常出现闪退的话,用户体验是非常差的。 所以要尽可能避免这种情况的发生。...那为什么会闪退呢? 就是程序它遇到了问题,又没有及时地处理,便只有崩溃了。而这种情况,便是异常。 在Java世界里面,异常指的是程序在执行过程,出现的非正常的情况,最终会导致JVM的非正常停止。...那么出现了异常Java里面是如何处理的? 我们举一个抛绣球的例子来说明下jvm处理异常流程。 好,现在有一个异常,被Java虚拟机知道了。 这个异常就相当于绣球。...在Java世界里面:出现了异常,然后都不处理,一直往前抛,最终抛给了Java虚拟机。 于是Java虚拟机非常地生气,打印错误信息,终止了程序。 程序终止这件事情在开发过程是能不出现就不要出现的。...catch:用来进行某种异常的捕获,若是出现了括号的异常,就抛出异常并描述信息,可以多个catch finally:无论异常是否发生,都会执行。

65010

Java】基础12:什么数组?

那么程序的数组和数学里的数组又有哪些不同呢? 一、数组的定义与访问 举一个现实生活的例子: 一个500毫升的杯子,既可以拿来装水,也可以拿来装牛奶,还可以拿来装果汁。...小结: 当数据确定时,可以使用格式二或者格式三来定义数组,这种方式也静态定义。 当数据不确定时,可以使用格式一来定义数组,这种方式也叫动态定义。...那这是为什么呢? 打印出来的这串字符其实是数组的一个地址,那如何去访问具体的数值呢? 这就需要借助于索引了,什么是索引? 每个存入数组的数值都会有一个对应的角标,这就是索引,并且索引是从0开始的。...内存是程序的临时存储区域,我们编写的程序是存放在硬盘的,但是在硬盘到的程序是不会运行的,必须要放进内存才能运行,运行完毕后会清空内存。...JVM作为Java虚拟机,它要运行程序,自然要对内存进行划分和管理: 寄存器:给CPU使用 本地方法栈:JVM在使用操作系统功能的时候使用 方法区:存储可以运行的class文件 堆内存:存储对象或者数组

77810

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

当初小程序出来时那么的火也是这么个原因,当然事实反响并没有预想的那么大。 所以B/S架构趋势还比较遥远,技术上还需要一定时间来突破。...对于我们学Java的来说,自然是与服务端打交道了,其中主要接触的是B/S架构 ? 说完了软件架构,那什么网络呢? 网络本质上是指多台计算机之间的数据交换。...其中网络三要素:IP地址、端口和协议 二、网络三要素之协议 什么协议? 用一个例子来理解,现在国际上一个日本人和一个德国人语言不通,它们用什么语言交流?用英语。...就比如说视频聊天,我们最在乎的是什么? 是不能卡,不能有延迟,我宁愿丢失几帧的数据(视频数据有稍许丢失对用户影响不大),不卡就行,所以要求就是效率要高。...不要看概念好像很难懂,说白了就有点类似于人类的身份证。 2.版本 比如说:192.168.1.101 这就是一个IP地址,相信很多人或多或少都接触过。 这是一个十进制的数据,把它转换成二进制看看?

56610

Java】基础41:什么IO流?

什么IO流? IO流,就是指读写文件的技术。 1.input I就是指input:输入的意思,这是输入流。 意思是将硬盘里的数据输入到内存里,也就是读取文件。...以字符为单位读写数据的流,用于操作文本文件 字符输入流: Reader 字符输出流: Writer 今天主要学习字节流: 二、OutputStream输出流 它是输出流最上层的父类,是一个抽象类,其中它有一个子类FileOutputStream...二、InputStream输入流 它是输入流最上层的父类,是一个抽象类,其中它有一个子类FileInputStream。 1.read方法基本用法 ?...bufferdef将abc覆盖掉了,所以打印def。...④第三次读数据 文件只有最后两个字节了, 所以读到的是gh,长度为2 buffer只覆盖了前两个字节,后面的第3个字节保持不变(gh将def覆盖得到ghf),所以打印ghf。

50410
领券