微信号:bjsxt-java

介绍:北京尚学堂科技有限公司是一家从事JAVA、大数据、Android、ios、web前端开发、培训、咨询为一体的软件公司.公司由海外留学人员和国内IT精英人士创建,主要成员均拥有硕士以上学位,毕业于国内著名大学如:清华大...

我是类! 超级无敌大帅哥花泽类的类。

2017-12-16 08:00 冯悦悦


“逗逼码农”征文活动第一期一等奖获得者简介:



尚学堂学员

姓  名: 冯悦悦

星  座: 天蝎座

爱  好: 看电影

学  校: 嘉兴学院

座右铭: 一切美好的事都要与我有关!


Hello world!

我打算用我们Java一族经典的问候方式来作为我们之间的第一句问候语!

大家好,我是类!

超级无敌大帅哥花泽类的类。

我是创建Java对象的模板。至于我是怎样的模板,这要看我的程序员爸爸是怎么写我了。首先我和人类一样,我有名字——类名。正如人类的名字,我的名字通常首字母要大写就像SteveJobs,不过姓名之间没有空格,因为根据我们的Java法典,名字只能由字母、数字、_或者$组成,并且不能以数字开头。至于为什么这样,你要问程序员爸爸了。

我们类可以拥有很多种类型的变量,它们分别是局部变量、成员变量、类变量。

局部变量是个待在方法、构造方法或者语句块里从不出来的骨灰级死肥宅,它的声明和初始化都是在方法中,方法一旦结束,就自动销毁见光死。

成员变量是定义在我们类中,但在方法体之外的变量,他在我们创建对象的时候实例化。

类变量也声明在类中,方法体之外,但它必须贴上static的标签。并且在使用它时候,只需要使用 类名.变量名 即可。

我们每个类中都有一个构造方法,即使程序员爸爸并没有显示地为我们定义,Java族的基因给我们提供一个默认的构造方法。构造方法对于我们而言就像是双手,因为只有调用构造方法,我们才能创建并初始化出一个对象。构造方法的名称必须和我们同名,我们可以有很多个构造方法。


构造方法示例

我们就像是一个个小型工厂,生产出同一类型的产品。我们的产品是对象。而对象将方法和属性耦合在一起。

若想创建一个对象,首先要跟Java族打声招呼,声明一个对象,包括对象名称和对象类型。其次需要制造工程师new出马,我们才能创建一个对象,最后会调用构造方法来初始化对象。比如我们的Puppy类:


创建对象的例子

我们的子女是子类,如果想继承我的财产,必须通过extends关键字来表示:


想继承我的遗产吗?成为我的宝宝吗?用extends!

在Java法典中,一个子类只能继承一个父类,是啊,作为一个类,我们不能太贪婪!到处喊爸爸像什么样子!

通常子女们只能继承爸爸的非私有属性和方法,什么叫私有,什么叫非私有呢?这里牵扯到律法中的权限修饰符了,它们是每个类、方法、属性都可以选择的标签。

标签有三个,分别是private私有的,protected受保护的,public公共的,什么标签也没有贴的就是不使用任何修饰符即default默认的。

我们类只有public和default可供选择。通常类们居住在一个一个的包中,贴上public的类非常热情好客,通过导包可以被不同包的其他类访问,但是什么标签都没有贴的default的类比较内向,只能被同包的类访问。

对于我们的属性和方法,四个都可以选择,通常我们会把自己比较私密的属性和方法贴上private,这样这些属性和方法只能在本类使用,即便是我们的子女也无法继承,毕竟,就算是人类也不想把自己穿过的小内裤等等私人的东西或者一些不可告人的小癖好传承给子女吧!并且,通过private修饰符,可以隐藏我们类的实现细节并且保护我们的数据。

而我们希望继承给我们的子女的属性或者方法,我们会给它们贴上protected的标签,这样只要是我们的子女,不论它们是否与我们居住在同一个包,都能够使用我们的方法和属性。当然如果一个类和我们居住在同一个包中,即使他不是我们的子女,也能够使用protected的方法或者属性。

public和default两个标签的作用对于方法属性和类是一样的,public的方法属性无论是否同包无论是否是我们的子女,都能使用,而default的方法属性只能由同包的类所使用。


不过时常有些很酷的丁克类,他们自愿到医院实施 final手术,手术完成后,他们就再也不能有自己的宝宝,再也不能被继承!潇洒走一生!

同时我们的子女——子类,并非循规蹈矩之辈,他们有些特立独行,不满于我们给予他们的属性方法,会添加上自己独特的方法和属性,成为不一样的烟火。同时对于我们给予的某些方法,如果无法满足他们的需求,他们常常会自己动手改造,重写这些方法。

我们之中还存在着一群抽象派的类,他们天性自由,不拘一格,从不实例化对象,他们贴着abstract的标签,他们这样就有资格拥有abstract的方法,抽象方法没有定义,它们没有方法体,方法名后面直接跟一个分号而不是花括号。


抽象方法只包含一个方法名,而没有方法体。

并且如果哪个子类继承了抽象方法,就必须把这些抽象方法统统实现,所谓实现,就是重写父类的抽象方法。如果子类不想实现也可以,那子类必须也是个抽象派(声明为抽象类)。

最后,怎么能忘记我们的老祖宗Object类呢?我们身上都流淌着他的血液。而读者们,身为炎黄子孙,什么时候也讲讲你们的故事?



写在最后


尚学堂在全国各大城市长期合作企业数量500+,拥有“一地学习,全国就业”的就业机制,每周8-20家企业上门招聘,保障学员快速就业。


 尚学堂现场招聘通知:


打开链接:http://www.bjsxt.com/html/recruitment/ 


点击录入个人信息进行报名。报名截止今天24:00之前。
为公平起见第二天按照报名系统时间顺序发号。(不进入系统报名的同学将不 能参加面试)

(一)京北方信息技术股份有限公司(java开发岗位、男女不限、统招本科及 以上学历、计算机相关专业、16年及以前毕业)(测试岗位、要求:女生、统 招本科及以上学历、计算机相关专业、16年及以前毕业)
          

招聘时间:12月18日(周一)下午13:30




END

点击阅读原文可进入招聘信息表哦~!

 
尚学堂 更多文章 【逗逼码农】青春不散场,我在尚学堂 【逗逼码农】尚学堂学员写了篇小说,还不来看一下 【逗逼码农】忆2017——我在尚学堂的日子 程序员的痛点!程序员老婆:不怕,老公是写代码的,忙得很! [java软件工程师]80后90后薪资最高职业
猜您喜欢 Ceph管理节点故障mds迁移到存储节点 Flink Forward 201709所有PPT资料下载 时间就是金钱啊,朋友 Apache顶级项目介绍6 - Spark 希云cSphere更新--提供容器落地的整体解决方案