JavaSE-面向对象(1)

  1. 什么是面向过程
    面向过程是解决问题的一种思想,在我们解决问题时,按照预先设定的想法和步骤,一步一步去实现,而具体的每一步都需要我们去实现和操作,这些步骤相互调用和协作,完成我们的需要。
    面向过程,其实就是面向着具体的每一个步骤和过程,就是面对具体的每一个功能函数,这些功能函数互相调用,完成需求。
    例如:买电脑这个过程
    在这里插入图片描述
  2. 什么是面向对象
    当面向封装了具体功能类,若要使用这个类,一般情况下,在Java中需要通过创建这个类的实体来使用。这个实体称之为对象。在开发中,我们是在不断的找封装不同功能的类。基于这些类,创建其对象,使用这些对象完成相应的操作。
    面向对象是基于面向过程,对象是将功能进行了封装。只要找到了具体的类,创建出对象,就可以调用其中的具体功能。面向对象也是用来解决问题的一种思维模式。
  3. 面向过程和面向对象之间是否是互斥的?
    不是互斥的,面向过程是最基本的思想,面向对象是面向过程之上的一种优化方式。
  4. 对象与类
    对象:真实存在的事物都叫做对象
    用关键字new来建立对象
    类:具有相同特征和行为的事物的统称
    对象与类的关系:对象是由类所描述出来的具体的事物
    对象与类的区别:
    类是用于描述现实事物的,它将现实事物进行抽象化,模板化描述。将事物的特点和行为封装在其中。
    对象是显示生活中存在的具体的实例。
  5. 如何定义一个类。
    类是用于描述现实事物的,它将现实事物进行抽象化,模板化描述。将事物的特点(属性)和行为封装在其中。在这里插入图片描述new 类名 (); //按照类所描述的内容创建一个具体的对象出来
    主函数是不需要创建对象的,可以直接调用的(由JVM)
  6. 静态不能直接调用非静态
    非静态可以调用静态

    main 程序主要且唯一入口
    一般而言 把主函数所在的类称之为 主类
    主类:主要负责程序的运行
    在这里插入图片描述
    工具类:一般不会创建对象,直接通过类调用函数(静态)
    在这里插入图片描述
    实体类:主要负责描述事物
    在这里插入图片描述直接定义在类中的变量,我们称之为成员变量
    直接定义在类中的函数,我们称之为成员函数(没有static)

一个.java文件中最多只有一个public

  1. 私有private关键字
    类中不需要对外提供的内容都私有化,包括属性和行为
    以后在描述事物,属性都私有化,并提供setXxx getXxx方法对其经行访问
    私有化只是让外界不能修改,而不是不能访问
    在这里插入图片描述在这里插入图片描述在这里插入图片描述
  2. this关键字
    this:表示当前对象的引用
    成员变量的个数和对象的个数有关
    成员函数的个数和对象的个数无关,始终一个
    在这里插入图片描述
     图列说明:
    a .先执行main方法,main方法压栈,执行其中的new Person(“张三”,23);
    b.堆内存中开辟空间,并为其分配内存地址0x33,紧接着成员变量默认初始化 (name=null age = 0);
    c.拥有两个参数的构造函数(Person(String nm , int a))压栈,在这个构造函数中 有一个隐式的this,因为构造函数是给对象初始化的,那个对象调用到这个构造函数, this就指向堆中的那个构造函数。
    d. 由于Person(String nm , int a)构造函数中使用了this(nm); 构造函数Person(String nm)就会压栈,并将“张三”传递给nm。在Person(String nm )构造 函数中同样也有隐式的this,this的值同样也为0x33,这时会执行其中name = nm,即 把“张三”赋值给成员的name。当赋值结束后Person(String nm )构造函数弹栈。
    e. 程序继续执行构造函数(Person(String nm , int a)中的age = a;这时会将23赋 值给成员属性age。赋值结束构造函数(Person(String nm , int a)弹栈。
    f. 当构造函数Person(String nm , int a)弹栈结束后,Person对象在内存中创建完 成,并将0x33赋值给main方法中的p引用变量
发布了22 篇原创文章 · 获赞 3 · 访问量 349

猜你喜欢

转载自blog.csdn.net/qq_45161607/article/details/103259156
今日推荐