“继承”是面向对象中的第二特征,体现了类与类之间的“is-a”关系。当两个类进行继承关联绑定的时候,子类自动具备来自于的父类的属性和行为,做到代码的复用和设计的分离。Java☕️作为一门面向对象的编程语言,对于继承也有相应的实现机制和语法。这篇博客我们就来详细总结一下……
编程路上第一关:函数(方法)
根据我们的教学经验,很多0⃣️基础的同学在学习过程中往往遇到的第一个难点就是函数(也叫做方法)。他们往往在学习过程要么是根本不知道函数该如何自定义和调用;要么只能掌握语法却搞不清为啥要这么做;要么对于很多细节概念(形参、实参、返回值、方法调用栈)一窍不通,只能跟着感觉走🤷♂️。而函数在编程当中具有非常重要的地位,是以后进一步深入学习的重要基石,马虎不得!所以,今天我们就来帮大家梳理一下这编程路上第一关:函数关!
接口还是抽象类?这是一个问题
“接口”与“抽象类”的区别,这是初级程序员在面试的时候常常会被问到的一个问题😱。这两种类型确实有太多的相似之处,比如:它们都有抽象方法;都不能实例化;都支持动态绑定等等;但是也有很多不同:“接口”支持多实现而“抽象类”只能单继承;“接口”不能有构造而“抽象类”可以;“接口”只有公共静态常量属性而“抽象类”确可以拥有变量属性等等。我相信,对于Java语法熟悉的同学肯定都能说出一大堆这些相同与不同。但是真正到使用的时候,我们却往往不能分清楚到底该定义“接口”呢?还是“抽象类”呢?有没有一个准确的判定标准,或者说有没有有一个面向对象思想层面的区分呢?
static关键字的那些事儿
static这个关键字是很多初学者在编写和阅读代码的时碰到的比较难以理解的关键字,也是很多面试官喜欢问到的问题之一。我们在使用的过程中会发现用它或不用它,对于代码来说有些时候似乎没有什么差异,但有些时候又的确有根本的不同。
那么接下来,我们就用这篇文章给大家梳理一下关于static的那些事儿。
【面向对象特征系列之“多态”】
面向对象特征当中最让初学者头疼的就算是“多态”了🤦♂️。“封装”、“继承”的概念大家在生活中还多多少少接触过,还能够做一定层度上的类推,但“多态”这个非生活用词就显得比较陌生了。
“多态”的用途和表现形式又非常多,总是在程序设计与开发中出现,弄得的大家不知所措。这儿也是多态,那儿也是多态,那么多态到底是个啥呢?😭
【面向对象特征系列之“继承”】
在上一篇系列文章中,我们聊过了面向对象的“封装”特征。在有了封装的基础上,今天我们在来谈谈面向对象第二个特征—-“继承”。
👨🏫“继承”这个知识点在同学们学习的过程中,其实并不算是一个难点。在语法上,Java也把它设计得非常简单,一个extends关键字就可以搞定;在理解上,“继承”这个词在生活中也很常见,不存在什么晦涩难懂的地方。但一旦涉及到具体使用的时候,就会发现很多同学其实对它的认知度还是不高的。不然在面试中也就不会有这么多的关于“继承”的面试题目了。诸如🤷♀️:“Java单继承的优缺点是什么?”、“抽象类与接口到底有区别?”、“什么时候用继承?什么时候用组合?”……等等。所以,这次我们借用这篇文章把“继承”这个概念再梳理一下。💪
【面向对象特征系列之“封装”】
搞编程的人,只要提到面向对象(OO),肯定就会想到面向对象的三大特征。”封装、继承、多态“几乎成了面试中必须要提到的问题,连朗沃的小卖部大妈都知道这三个东东了😊。
可是知道是一回事情,但真要让我们把这三个东西说的清清楚楚、明明白白就又是另一回事情了😖。因为这三个概念实在是太抽象了😡,既涉及到编程语法,又上升到设计思想;既好像在代码中随处可见,又似乎隐藏在设计的思维中;让人好不头疼!所以,本博准备开一个专题,来聊聊这让人又爱又恨的“三大特征”。
今天,我们就先来看看第一个特征“封装”。
你应该知道的一些“位运算”
相信很多同学在Java基础学习过程中,对于常见常用的各种运算符号都有一定的心得了。特别是我们很容易学习和理解的算术运算符(+,-,*,/,%,++,–),赋值运算符(=,+=,-=,*=,/=,%=),比较运算符(>,<,>=,<=,==,!=),逻辑运算符(&&,||,!),三目运算符( ? :)。但是当看到位运算符的时候,很多没有基础的同学可能有一点懵逼吧😏。
其实,位运算在某些时候还是非常有用的。特别是在底层编码的时候,它可以带来很多性能以及语法上的优化。当然,我们应用层的开发人员可能用得比较少。不过,多了解一些还是很有好处的,所以接下来我们就聊聊那些你应该知道的“位运算”。
(转)当编程语言变成二次元萌妹
试想一下,当Java、C++、Python、Ruby、PHP、C#、JS等编程语言变成了动漫人物会是怎样的一幅场景呢?下面就一起看看在日本作家渡辺将人的笔下,各种编程语言都是哪类“美女”的吧!
(转)世界上第一位程序员竟然是个妹子
在程序员这个男多女少的世界里,男女比例的极不均衡让男程序员们自然而然地成为了这个世界的主宰。细数下来,从C语言和Unix系统的创造者Denis和Thompson,到后来的Linux系统之父Linus,再到Java之父Gosling,都是广大男程序员中杰出代表,是程序界的豪杰。按照这种逻辑,想必世界上第一位程序员也必定是我们男同胞吧!
哈哈,认真你就猜错了,据史料记载,世界第一位程序员的的确确是一个妹子,名叫阿达·洛芙莱斯(Ada Lovelace),就是下面这位。废话少说,下面就让我们看看她是如何成为一位伟大的程序员的吧,或许如果不是她,这世界上也许就没有程序员这个职业了呢!