博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
面向对象
阅读量:4333 次
发布时间:2019-06-07

本文共 1676 字,大约阅读时间需要 5 分钟。

面向对象的三大特征:封装性,继承性,多态性。

二者之间进行比较:

  面向过程:实现某种功能时,看重每个步骤是怎么做的,整体的过程是怎样的,每个步骤都是自己亲力亲为。

  面向对象:实现某种功能时,不看重具体的过程和步骤,而是看重谁能帮我做这些事情。

  

类与对象的关系:

  类里面有属性,有行为。

  属性:事务的特征信息,是什么

       行为:事物的动作行动方案,能做什么。

      面向对象的语言中,类就是用来模拟现实事物的,而对象是类的具体实例。

eg:1.类:抽象的,手机设计图纸。

   2.对象:具体的,是一个真正的手机实例。

类的定义:

  类是用来模拟现实事物的代码手段,事物分成属性,行为两个部分,类中也对应的包含两个部分。

  1.成员变量(属性):将变量位置直接定义在类中,在方法外,即为成员变量。

  2.成员方法(行为):将普通方法去掉static关键字,即为成员方法。

根据类创建对象:

  类名称 对象名 = new 类名称();

      类似于:数据类型 变量名称 = new 数据类型();

 如何使用创建好的对象?

  类中已经定义好了两个组成部分,成员变量,成员方法所以根据类创建出来的对象也有两个部分。

如何使用对象当中的成员变量?

  对象名.成员变量名

    note:想用谁就点谁。

如何使用定义好的类?

  类就是一种引用数据类型,使用起来分成三个步骤:

  1.导包:如果需要使用的目标类,和当前类(含有main方法)位于同一个包下的,那么可以省略导包不写,否则需要使用import语句

  2.创建:类名称 对象名 = new 类名称();

  3.使用。

 对比一下局部变量和成员变量的不同:

  1,定义的位置不同:

   局部变量:定义在方法内。

   成员变量:直接定义在类中,在方法的外面。

  2.内存中位置不同:

   局部变量:在栈内存中,Stack

   成员变量:在堆内存中,Heap

  3.生命周期不同:

   局部变量:随着方法的进栈而出现,随着方法的出栈而消失。

   成员变量:随着对象被创建而出现,随着对象被jvm回收而消失。

  4.默认值不同:

   局部变量:没有默认值,必须赋值之后才能使用。

   成员变量:如果没有赋值,那么将会有一个默认值。

当局部变量和成员变量重名时,方法中会根据就近原则使用局部变量但是可以使用this来区分:

  格式:this.成员变量名;作用:将局部变量和成员变量区分开来

  note:this关键字其实代表的是当前对象,通过谁调用的方法谁就是this。

eg:

 

private关键字:

  私有成员private一旦被使用修饰成员,那么超出了本类范围之外,就不能直接访问了(在无法控制成员变量取值范围,数据不安全时使用)。

  如果需要使用private修饰的成员变量,可以间接访问,使用private要写一对setter和getter,(如果是Boolean类型getxxx必须写成isXXx形式)

构造方法:专门用来创建对象的方法,通过new关键字创建对象就是在调用构造方法。

  1,构造方法不能写返回值类型连void都不能写。

  2,构造方法的名称必须与所在类的名称完全一样,大小写也要一样。

  3,构造方法也是可以重载的。重载好处:{1:定义一个无参数的构造方法,可以直接new对象;2:定义一个重载的全参数的构造方法,可以在new对象的同时方便对成员变量进行赋值}

  4,构造方法如果没有定义,默认送一个;如果定义了,那么默认的不在赠送。

如何定义一个标准的类(POJO类)?

  1)所有的成员变量都需要使用private关键字私有化。

  2)为每一个成员变量编写一对儿Getter和Setter方法(可以用eclipse自带的添加在source里面)。

  3)编写一个无参数的构造方法。

  4)编写一个全参数的构造方法。

转载于:https://www.cnblogs.com/rxing/p/10425600.html

你可能感兴趣的文章
ultraedit激活
查看>>
总结(6)--- python基础知识点小结(细全)
查看>>
亿级曝光品牌视频的幕后设定
查看>>
ARPA
查看>>
JSP开发模式
查看>>
我的Android进阶之旅------>Android嵌入图像InsetDrawable的使用方法
查看>>
Detours信息泄漏漏洞
查看>>
win32使用拖放文件
查看>>
Android 动态显示和隐藏软键盘
查看>>
raid5什么意思?怎样做raid5?raid5 几块硬盘?
查看>>
【转】how can i build fast
查看>>
null?对象?异常?到底应该如何返回错误信息
查看>>
django登录验证码操作
查看>>
(简单)华为Nova青春 WAS-AL00的USB调试模式在哪里开启的流程
查看>>
图论知识,博客
查看>>
[原创]一篇无关技术的小日记(仅作暂存)
查看>>
20145303刘俊谦 Exp7 网络欺诈技术防范
查看>>
原生和jQuery的ajax用法
查看>>
iOS开发播放文本
查看>>
20145202马超《java》实验5
查看>>