首页 > 技术文章 > Java中类与对象的介绍

9-King 2020-07-21 22:54 原文

1-01.面向相对的思想

最常见的有两种编程思想:面向对象和面向过程。

其中,面向过程的思想是指在需要实现一个功能时,每一个具体的步骤都需要程序员亲力亲为,对处理每一个细节做好详细处理;

面向对象的思想是指当需要一个功能时,不需要关心具体的步骤,而是找一个已经具有该功能的“人”来帮你做这件事。

面向对象思想具有三大特性:封装性,继承性,多态性。

1-02.类与对象的关系

类是一组相关属性(事物的状态信息)和行为(事物能做行为)的集合。

类是对一类事物的描述,是抽象的;对象是类的实例,是具体的。

类是对象的模板,对象是类的实例,这两者的关系就好比手机图纸和手机事物的关系。

1-03.类的定义

在Java类中,属性就是成员变量,行为就是成员方法。

成员变量的定义和其他变量定义的格式是基本一样的。当加上public,private等时则会增加或减少对成员变量访问的限制。

成员方法的定义方式和普通的方法的定义方式不一样,它的格式为:

    public void 成员方法名(参数表){方法体};

注意:1)成员变量是直接定义在类当中的,在方法的外边。

     2)与普通方法的定义相比,成语方法的定义中间少了一个static关键字。

1-04.对象的创建及使用

通常情况下,一个类是不能直接使用的,需要创建一个类对象才能使用。

创建类对象的步骤:

1)导包:指出需要使用的类在什么位置;格式:

    import 包名称 类名称;

当需要使用的类和当前类在同一个包时,这一步可以省略不写。

2)创建对象,格式:

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

例如:

    Student stu = new Student();

2)使用类对象

对成员变量使用时,格式:

    对象名.成员变量名;

对成员方法使用时,格式:

    对象名.成员方法名(参数);

1-05.使用对象类型做方法的参数和返回值

1)当对象类型做方法的参数,传递到方法当中时,实际上传递进去的是对象的地址值。

2)当对象类型做方法的返回值时,返回值返回的是对象的地址值。

1-06.局部变量与成员变量的区别

1)定义的位置不一样(重点):局部变量定义在方法的内部;

                                                    成员变量定义在方法的外部,直接写在类当中。

2)作用范围不一样(重点):局部变量只有方法当中可以使用,出了方法就不能使用;

                                                成员变量在整个类中全都可以使用。

3)默认值不一样(重点):局部变量没有默认值,若想要使用必须手动进行赋值。

                                             成员变量如果没有赋值,会有默认值,规则和数组一样。

4)内存的位置不一样:局部变量位于栈内存;成员变量位于堆内存。

5)生命周期不一样:局部变量随着方法进栈而诞生,随着方法的出栈而消失;成员变量随着对象创建而诞生,随着对象被清楚而消失。

1-06.面向对象的封装性

封装性在Java中的体现:

1)方法就是一种封装;

2)关键字private也是一种封装。

2-01.private关键字的作用及使用

在使用了private关键字后,在本类中依然可以随意访问,但是!超出本类范围的,就不能再直接访问了。

在使用了private关键字后,如果需要对其进行访问,则需要Getter/Setter这样一对方法进行操作。

注意:

1)Getter方法只能有返回值,不能有参数;Setter方法只能有参数,不能有返回值;且必须二者同时配合使用。

2)对于Boolean类型的,Getter方法需要替换成isSame方法,Setter方法不变。

2-02.this关键字的使用

当方法的局部变量和类的成员变量重名时,根据“就近原则“,优先使用局部变量,如果需要访问本类中的成员变量名时,可以使用this进行操作,格式:

    this.成员变量名;

2-03.构造方法

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

对构造方法的定义格式如下:

    public 类名称 (参数类型 参数名称){方法体}

注意事项:

1)构造方法的名称和所在类的类名称必须完全一致,包括大小写也要一样。

2)构造方法不要写返回值类型,连void都不要写。

3)构造方法不能return一个具体的返回值。

4)如果没有编写任何构造方法,那么编译器会使用默认构造方法,默认构造方法是一个空的构造方法,没有参数,没有方法体。

5)一旦编写了至少一个构造方法,那么编译器的默认构造方法就不会被使用。

6)构造方法也可以重载。

2-04.如何定义一个标准的类

一个标准的类通常需要拥有以下四个部分:

1)所有的成员变量都需要使用private关键字来修饰。

2)为每一个成员变量编写一对Getter/Setter方法。

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

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

这样的标准类也叫Java Bean。

推荐阅读