面向对象基础(概念类)

本文深入探讨面向对象编程的基础,包括类和对象的关系、构造方法的使用、方法重载的概念以及变量作用域。了解如何在Java中创建和初始化对象,以及垃圾回收机制的工作原理。此外,还讨论了Java中的关键字如`this`和`static`的用途。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

类和对象的关系

  •  面向对象的思想(Object Oriented Programming,简称 OOP)

         面向对象的基本思想是,从现实世界中客观存在的事物出发来构造软件系统,并在系统的构造中尽可能运用人类的自然思维方式

   面向对象更加强调运用人类在日常的思维逻辑中经常采用的思维方法与原则

  •  面向对象的三个特征 

        封装

        继承

        多态

  •  类的定义   
        把相似的对象划归成一个类。

        在软件设计中,类,就是一个模板,它定义了通用于一个特定种类的所有对象的属性(变量)和行为(方法)。

  •  语法
                [访问权限控制符] class 类名{
                                                 类的成员

                                                  }

        修饰符一般为public,也可以没有修饰符

                           注意类名的命名规范。类名一般大写

                           类的成员:

                           成员变量(属性)

                           成员函数(方法)

          通过“.”调用属性和方法

  • 类和对象的关系

      类(class——是对某一类事物的描述

     对象(object——是实际存在的某类事物的个体也称为实例(instance)

     类是创建对象的模板,对象是类的实例

  •  对象的创建

        语法:类名 对象名 = new 构造函数

  • 匿名对象

       创建完对象,在调用该对象的方法时,也可以不定义对象的句柄,而直接调用这个对象的方法。这样的对象叫做匿名对象。

        例:

                Person p1 = new Person(); ===> new Person().sayHello()    

                P1.sayHello();

        使用匿名对象的情况

        如果对一个对象只需要进行一次方法调用

构造方法

  • 构造方法(构造函数/构造器,Constructor

       具有与类相同的名称

       不含返回值类型

  不能在方法中用return语句返回一个值

  一般访问权限为public

       在一个类中,具有上述特征的方法就是构造方法。

  •  构造方法的作用
        完成对象的创建,即完成对象的实例化。

        一般使用构造方法来完成对成员变量的初始化

  • 默认的构造方法

  在Java中,每个类都至少要有一个构造方法,如果程序员没有在类里定义构造方法,系统会自动为这个类产生一个默认的构造方法

       一旦编程者为该类定义了构造方法,系统就不再提供默认的构造方法

方法的重载

  • 方法的重载(overload

      函数的重载就是在同一个类中允许同时存在一个以上同名的函数

  •  方法重载的规则

        函数名称相同

        函数的参数必须不同

    参数个数不同

             参数类型不同

        函数的返回值类型可以相同,也可以不同

对象创建的内存模型

  • 引用类型变量

    除了8种基本数据类型的变量,其他变量都是引用类型变量

        类(class

                                    Person p;

        接口(interface

                                    Animal a;

                           数组

                                    Int[] c ;

变量的作用域

  • 全局变量

      类体中声明的成员变量为全局变量

      全局变量在类的整个生命周期中都有效

  • 局部变量

        方法体中声明的变量,方法中的参数,或代码块中声明的变量,都是局部变量

        局部变量只在方法调用的过程中有效,方法调用结束后失效

  •  变量初始化的顺序

        隐式赋予变量默认值

        成员变量

        显式赋予初始值

        通过构造方法体赋予新值

垃圾回收机制

  • 垃圾回收器

        Java的一个重要特点句是具有一个垃圾回收器,并且能够自动回收垃圾,这也是Java相对其他语言有优势的地方

  对内存的释放和回收的工作是由Java运行系统(JRE)承担的,不用编程者关注

  在Java程序运行过程中,一个垃圾回收器会不定时地被唤起检查是否有不再被使用的对象,并释放它们所占用的内存空间

垃圾回收器的启用不由程序员控制,也无规律可循

  •  垃圾回收机制——System.gc()null

        Java里提供了一个System.gc()方法,使用这个方法可以建议垃圾回收器回收垃圾

  在Java中,可以通过将对象的引用变量设置为null,来暗示垃圾回收器来回收该对象

Java中的关键字

  •  this关键字
        代表对象自身的引用

        一个引用

        指向调用该方法的当前对象

        通常在类的方法定义中使用

  • 用this关键字的情况

        方法中的变量与成员变量重名

        在一个构造方法中,调用其他重载的构造方法

        返回当前对象的引用

  •  static关键字

        staitc可以修饰的元素

        属性

        方法

        代码块

        需要注意的问题

        只能修饰类成员,不能修饰局部变量

  •  static修饰的变量——静态变量

        所有对象共享

        也称为类变量

   用static修饰的成员变量,它们在类被载入时创建,只要类存在,static变量就存在

        两种方式访问:

       直接访问:类名.属性

       实例化后访问:对象名.属性

  • staic修饰的方法——静态方法

      不需要实例化,可以直接访问

      也称为类方法

      两种方式访问:

    直接访问:类名.方法名()

    实例化后访问:对象名.方法名()

  • static方法的作用

       简化方法的使用;

       便于访问静态属性;

        注意事项

             静态方法里只能直接访问静态成员,而不能直接访问类中的非静态成员

     静态方法中不能使用thissuper关键字

             静态方法不能被非静态方法覆盖,静态方法不能修饰构造方法

  • static修饰的代码块——静态代码块
       一个类中由static关键字修饰的,不包含在任何方法体中的代码块

       当类被载入时,静态代码块被执行,且只被执行一次

       静态块精彩用来进行类属性的初始化

 

 

 

 

 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值