Person person;这时候没有“=”操作,也就是没有给他赋值,person是空的,即null。 = new Person(),术语就叫实例化,就是pe...
BBB obj = new BBB(); System.out.println(obj.f(4, 6)); /* 基类指针指向子类或说派生类效果就像子类指针指是一样的,为什么
参考链接: java 面对对象概念 什么是面向对象呢?这个问题真的是老生常谈,面试的时候经常问。到底什么是面向对象。。。...,什么都是对象什么的。...源码中,很多方法都是由说明的,只要看懂说明调用就好了,没必要去死抠一些东西,如果想明白这个方法的用途,单扣这个方法就ok了。我想这也是面向对象的一个好处吧。...但是声明一点,java的编程,很多人只是知道new出来对象,创造对象,却不知道垃圾回收。...虽然java提供了很好的垃圾回收机制,但是就空间复杂度而言,还是要控制的,知道每个变量什么时候活的状态不能被回收,什么时候死的状态可以被回收,对于每一个开发都很重要,要在程序到达一个阶段,一个结束去思考一下
技术核心和实例前面已经给出,这里只是给出大家对这种现象的一个定义而已,马克-to-win:子类重新定义一个与父类那里继承来的域变量完全相同的变量,称为域的隐藏。
定义方法的两个明确: 明确返回值类型:既然是两个整数的求和,那返回值一定是整数 明确参数列表:在参数中定义int类型的整数变量,两个变量 注意事项: 方法与方法之间是独立的,不能在方法里面定义一个方法。...三、方法重载 定义:指在同一个类中,有两个或两个以上方法名一样的方法,只是它们的参数不一样 参数列表:个数不同,数据类型不同和顺序不同 重载方法调用:jvm通过方法的参数列表,调用对应的方法 总结就是:
什么叫多态呢?按照字面意思理解就是多种形态的意思。 还是举昨天的那个例子: 动物园里动物都得吃食物,兔子吃胡萝卜,猫吃鱼,狗吃肉。...具体什么意思呢? 变量有基本数据类型和引用数据类型。 其中引用数据类型又分为:数组,类和接口。 父类类型指的是子类继承至的父类,或者子类实现的接口。 按照现实里面的理解就是:一个是亲爹一个是干爹。...②运行结果看右边,是Rabbit对象,那么会执行Rabbit中重写的eat()方法,也就是“兔子吃胡萝卜”。 二、多态的好处 既然是面向对象三大特性,那它有啥好处呢?...三、多态的弊端 多态这么方便,那它有没有什么弊端呢? 是有的。多态不能调用子类的特有方法,需要使用到强制转换。 ? 兔类中有一个特有的方法jump(),兔类的父接口Zoo中没有这个方法。...为了避免出现类转换异常,Java提供了一个关键字:instanceof,给变量名做类型的校验。 ?
什么叫阶乘? 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只能用来删除文件和空文件夹,它是没法直接删除非空文件夹的。
今天就让我们走进程序的世界,研究下什么叫接口? 一、接口的格式 还是以昨天的例子来理解接口: 动物园里有很多动物,分食草动物和食肉动物,食草动物又有小兔子等。 如何让这些动物进入动物园呢?...写到这,我突然又想起了现实生活中的一个例子: 中学时语文作文,就一个题目或者一则材料,就得写一篇不少于800字的作文。 这写作文的过程不就相当于是实现接口的过程么?...什么意思呢? 动物园一开始制定的规则是:你想进动物园,必须说明你吃什么? 现在动物园想增加一个功能,就是想知道每个动物的名字叫什么?...什么时候有需求了重写就好,也可以一直不重写方法。 现在有一只兔子,没有名字,那就用接口的默认名(动物),突然有一天想给它取了一个新名字,叫小白,怎么办?...四、抽象类 在接口的抽象方法中,提到了一个概念,叫抽象类。 这个抽象类又是啥呢? 抽象类:有抽象方法的类就叫抽象类。如果一个类包含抽象方法,那么该类必须是抽象类。
闪退,我们在使用手机或者电脑的过程中,有时会遇到这种情况,这也是用户最讨厌的情况之一。 一般一个开发软件,如果时常出现闪退的话,用户体验是非常差的。 所以要尽可能避免这种情况的发生。...那为什么会闪退呢? 就是程序它遇到了问题,又没有及时地处理,便只有崩溃了。而这种情况,便是异常。 在Java世界里面,异常指的是程序在执行过程中,出现的非正常的情况,最终会导致JVM的非正常停止。...那么出现了异常Java里面是如何处理的? 我们举一个抛绣球的例子来说明下jvm处理异常流程。 好,现在有一个异常,被Java虚拟机知道了。 这个异常就相当于绣球。...在Java世界里面:出现了异常,然后都不处理,一直往前抛,最终抛给了Java虚拟机。 于是Java虚拟机非常地生气,打印错误信息,终止了程序。 程序终止这件事情在开发过程中是能不出现就不要出现的。...catch:用来进行某种异常的捕获,若是出现了括号中的异常,就抛出异常并描述信息,可以多个catch finally:无论异常是否发生,都会执行。
那么程序中的数组和数学里的数组又有哪些不同呢? 一、数组的定义与访问 举一个现实生活中的例子: 一个500毫升的杯子,既可以拿来装水,也可以拿来装牛奶,还可以拿来装果汁。...小结: 当数据确定时,可以使用格式二或者格式三来定义数组,这种方式也叫静态定义。 当数据不确定时,可以使用格式一来定义数组,这种方式也叫动态定义。...那这是为什么呢? 打印出来的这串字符其实是数组的一个地址,那如何去访问具体的数值呢? 这就需要借助于索引了,什么是索引? 每个存入数组的数值都会有一个对应的角标,这就是索引,并且索引是从0开始的。...内存是程序的临时存储区域,我们编写的程序是存放在硬盘中的,但是在硬盘中到的程序是不会运行的,必须要放进内存中才能运行,运行完毕后会清空内存。...JVM作为Java虚拟机,它要运行程序,自然要对内存进行划分和管理: 寄存器:给CPU使用 本地方法栈:JVM在使用操作系统功能的时候使用 方法区:存储可以运行的class文件 堆内存:存储对象或者数组
什么叫原子操作? 就 是无法被别的线程打断的操作。要么不执行,要么就执行成功。例如:x=3是原子操作。过程就是先把工作内存的x赋成3,再把主存的x赋成3。
当初小程序出来时那么的火也是这么个原因,当然事实反响并没有预想中的那么大。 所以B/S架构趋势还比较遥远,技术上还需要一定时间来突破。...对于我们学Java的来说,自然是与服务端打交道了,其中主要接触的是B/S架构 ? 说完了软件架构,那什么叫网络呢? 网络本质上是指多台计算机之间的数据交换。...其中网络三要素:IP地址、端口和协议 二、网络三要素之协议 什么叫协议? 用一个例子来理解,现在国际上一个日本人和一个德国人语言不通,它们用什么语言交流?用英语。...就比如说视频聊天,我们最在乎的是什么? 是不能卡,不能有延迟,我宁愿丢失几帧的数据(视频数据有稍许丢失对用户影响不大),不卡就行,所以要求就是效率要高。...不要看概念好像很难懂,说白了就有点类似于人类中的身份证。 2.版本 比如说:192.168.1.101 这就是一个IP地址,相信很多人或多或少都接触过。 这是一个十进制的数据,把它转换成二进制看看?
什么叫IO流? IO流,就是指读写文件的技术。 1.input I就是指input:输入的意思,这是输入流。 意思是将硬盘里的数据输入到内存里,也就是读取文件。...以字符为单位读写数据的流,用于操作文本文件 字符输入流: Reader 字符输出流: Writer 今天主要学习字节流: 二、OutputStream输出流 它是输出流最上层的父类,是一个抽象类,其中它有一个子类叫FileOutputStream...二、InputStream输入流 它是输入流最上层的父类,是一个抽象类,其中它有一个子类叫FileInputStream。 1.read方法基本用法 ?...buffer中def将abc覆盖掉了,所以打印def。...④第三次读数据 文件中只有最后两个字节了, 所以读到的是gh,长度为2 buffer中只覆盖了前两个字节,后面的第3个字节保持不变(gh将def覆盖得到ghf),所以打印ghf。
2.多重捕获MultiCatch 马克-to-win:什么叫多重捕获MultiCatch?.../ String s="12"; try { arg1 = Integer.parseInt(s); //马克-to-win:这里会发生异常,所以try块中后面语句执行不了...Integer.parseInt(s); result = arg1 /0;//马克-to-win:这里会再次抛出异常,使程序崩溃 System.out.println("try中完成
参考链接: Java多捕获Multicatch 2.多重捕获MultiCatch 马克-to-win:什么叫多重捕获MultiCatch?... // String s="12"; try { arg1 = Integer.parseInt(s); //马克-to-win:这里会发生异常,所以try块中后面语句执行不了...Integer.parseInt(s); result = arg1 /0;//马克-to-win:这里会再次抛出异常,使程序崩溃 System.out.println("try中完成
为什么同样的模型,判断出的结果不一样呢? 1)w3比较大,为0.8,w4比较小,为0.001.意思就是贵的设施对于判断是否为高档很重要。对于低档几乎没用。...如果我们要是个房产经纪的话,我们其实在日常的工作中,在不断总结更正这些参数,不断的完善这个人工网络模型。让我们这个模型,对各种各样的 输入值都是正确的。
雪碧图是什么? 雪碧图,英文原名叫 CSS sprites。 sprite 指的是精灵。 我们喝的雪碧,它的英文也是 sprite,应该直译为 “精灵” 的。...但要符合中国市场,因为你不能说我喝的饮料叫“精灵”,那特别怪。于是就走音译的路线,翻译成 “雪碧” 了。 所以雪碧图更正确的叫法应该是 “精灵图”。 那为什么叫精灵呢?...上面是 stackoverflow 网站中,编辑器所有图标的 normal、hover、actived 状态效果。
不知道从什么时候开始起,国人变得特别浮躁,尤其是在商业领域。君不见,某宝上假货不断,用户投诉无门。在整体情况一般的情况下,质量或服务好的企业都被用户称之为“业界良心”,大概是以下的几种类型。...只是我想知道,为什么用点好材料就这么难?真材实料难道不是最基本的要求吗?就连老字号的同某堂就多次陷入质量泥潭。以前特别喜欢这副对联:炮制虽繁必不敢省人力,品味虽贵必不敢减物力。...5、不作恶 以前我不是特别理解谷歌公司为什么会把“不作恶”作为企业的价值观。后来,工作了才明白:在企业想作恶实在太容易了。
有童鞋说,这有什么意义呢?比如下面的例子,当我们不知道现在是什么车时,你让我写驾驶(steer)这个方法,我怎么写呢?这种场合就需要抽象方法。...当我们现在连什么车都不知道时,也不知道它是自行车还是豪华轿车时,你让我具体地生成这辆车,当然是不可能了。
物理行:代码编辑器中显示的代码,每一行内容是一个物理行。 逻辑行:Python解释器对代码进行解释,一个语句是一个逻辑行。...Python代码中: 1、使用";"号将两个或多个逻辑行合并成一个物理行。 2、使用"\"号连接两个物理行。 3、字典、列表等变量赋值语句,是可以直接书写为多个物理行的。 2.
领取专属 10元无门槛券
手把手带您无忧上云