面向对象

2019-02-25 16:12:06来源:博客园 阅读 ()

新老客户大回馈,云服务器低至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
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Java开发笔记(六十四)静态方法引用和实例方法引用

下一篇:spring boot 实现密码连续输入错误5次,限制十分钟内不能进行登