面向对象(oop)进阶篇

面向对象进阶

1. 包

package: 组织文件的作用。将程序中在逻辑上具有关联关系的文件组织在一起。

在一个类中,使用另外一个包中的类:

1、使用类的全限定名

全限定名:从最层的包开始,一层层的向我们想要使用的文件进行定位。

例如 com.qianfeng.aexercise.two.Person

2、使用关键字 import,导入想要使用的资源文件

import java.util.Arrays 导入Arrays类

import java.util.* 导入java.util包下面所有的内容

2. this关键字

this: 代表对当前对象的引用

this只能够用在非静态方法和构造方法中。
1、用在非静态方法中: 哪一个对象调用这个方法, this就是谁。
2、用在构造方法中: 
   1、表示对当前对象的引用: 即将被实例化的对象。
   2、this() 调用当前类中其他的构造方法

this的省略规则:

其实,所有的属性、方法在进行访问的时候,都必须要有一个访问主体。

但是在某些情况下,访问主体可以省略。

省略的规则很简单:

如果省略掉之后,对程序没有任何的影响,可以省略。

3. 构造方法

1、构造方法的定义

1、没有用来修饰构造方法的其他的修饰符

2、构造方法没有返回值

​ 这里所谓的没有返回值,指的并不是返回值类型是void,而是返回值类型部分不要写!

3、方法名必须和类名相同

2、构造方法的调用

1、构造方法不能够显式的被类或者对象调用

2、构造方法的调用是发生在对象被实例化的时候

​ 实例化对象的过程中,会自动的调用构造方法。

3、构造方法的实际使用意义

1、构造方法作为一个对象生命周期中的第一个方法,一般情况下,我们会对对象的属性进行初始化的赋值

4、在构造方法中调用当前类的其他的构造方法

1、使用 this()

2、通过实参来区分具体调用哪一个构造方法

3、this() 调用构造方法,这一条语句必须是构造方法中的第一行语句

5、构造方法中的自动提供的原则

1、如果一个类中没有写构造方法,则这个类中会自动的提供一个public权限的无参构造方法

2、如果一个类中写构造方法了,此时系统将不再默认提供任何的构造方法

​ 如果没有特殊需求,在添加了有参构造的同时,自己把无参构造也补上

6、析构方法

1、析构方法是一个对象生命周期中的最后一环。

4. 代码段

分为 静态代码段 和 非静态代码段(构造代码段)

1、他们都是直接写在类中的代码段,使用static修饰的代码段叫做静态代码段,没有使用static修饰的代码段叫做非静态代码段,或者叫做构造代码段

2、执行时机:

​ 2.1、静态代码段:

​ 当这个类第一次被加载到内存中的时候调用。指的是第一次在程序中使用到这个类(实例化对象、调用静态方法、静态属性。。。)

​ 2.2、构造代码段:

​ 当实例化对象对象的时候,执行构造代码段。

​ 在实例化对象的时候,先执行构造代码段,然后再执行构造方法。

3、无论是静态代码段还是构造代码段,都可以出现多次。如果出现了多次,则这些代码段之间执行的先后顺序是,按照书写顺序执行。先写谁,先执行谁。

5. private关键字与属性的封装

在我们之前的程序设计中,有某些属性,我们是不希望直接暴露给外界的。

private

是访问权限修饰符的其中之一,表示私有的权限。被private修饰的属性和方法,只能在当前的类中访问。

属性的封装

对于某些属性,如果直接暴露给外界,则在进行访问的时候,进行的赋值操作,可能并不是我们想要的值。

为了解决这个问题,可以直接将这个属性私有化起来,此时外界将不能再直接访问这个属性。但是为了能让外界继续操作这个属性,我们需要提供用来操作属性的方法。

JavaBean规范:理论上来讲,每个属性都需要进行封装。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,736评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,167评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,442评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,902评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,302评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,573评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,847评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,562评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,260评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,531评论 2 245
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,021评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,367评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,016评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,068评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,827评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,610评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,514评论 2 269

推荐阅读更多精彩内容

  • 这是16年5月份编辑的一份比较杂乱适合自己观看的学习记录文档,今天18年5月份再次想写文章,发现简书还为我保存起的...
    Jenaral阅读 2,640评论 2 9
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,036评论 1 32
  • 1 面向对象No6 面向对象 OO Object Oriented 编程时以对象为单元,封装数据和逻辑,以此提...
    征程_Journey阅读 1,055评论 0 2
  • 面向对象笔记 一、 对象在内存中的存放方法以及被调用过程 class文件首先被加载到方法区中的class文件内容区...
    VictorBXv阅读 428评论 0 2
  • 第四章 面向对象 面向对象思想 面向对象思想的引入前面我们讲过数组,当有多个数组都需要遍历时,我们可以将遍历的代码...
    chongsheng阅读 509评论 0 0