• 【Java SE】面向对象、类和对象详解


    目录

    1面向对象简述

    1.1面向对象定义

    1.2面向对象特征

    1.3面向对象优点

    2类与对象

    2.1类与对象的概念

    2.2类和对象的区别

    2.3在Java中的定义和使用

    2.4注意事项

    3对象引用传递精髓

    4内存垃圾


    1面向对象简述

    1.1面向对象定义

            面向对象: Java是一门纯面向对象的语言(Object Oriented Program,继承OOP),在面向对象的世界里,一切皆为对象。面向对象是解决问题的一种思想,主要依靠对象与对象之间的交互完成一件事情。

    1.2面向对象特征

    在面向对象定义之中,也规定了一些基本的特征:
    (1)封装:保护内部的操作不被破坏
    (2)继承:在原本的基础之上继续进行扩充
    (3)多态:在一个指定的范围之内进行概念的转换

    1.3面向对象优点

            用面向对象的思想来涉及程序,更符合人们对事物的认知,对于大型程序的设计、扩展以及维护都非常友好。因为面向对象,更多的是要进行子模块化的设计,每一个模块都需要单独存在,并且可以被重复利用,所以,面向对象的开发更像是一个具备标准的开发模式。

    2类与对象

    类与对象是整个面向对象中最基础的组成单元。

    2.1类与对象的概念

      类  :是抽象的概念集合,表示的是一个共性的产物,类之中定义的是属性和行为(方法)
    对象:对象是一种个性的表示,表示一个独立的个体,每个对象拥有自己独立的属性,依靠属性来区分不同对象


    类中包含的内容称为类的成员。                                                                                                                属性:主要是类的变量,称之为类的成员属性或者类成员变量。                                                     行为:主要说明类具有哪些功能,称为类的成员方法。


    理解: 

            简单来说,定义了一个类,就相当于在计算机中定义了一种新的类型,与int,double类似,只不过int和double是java语言自带的内置类型,而类是用户自定义了一个新的类型。 

    1. 类只是一个模型一样的东西,用来对一个实体进行描述,限定了类有哪些成员.
    2. 类是一种自定义的类型,可以用来定义变量.
    3. 一个类可以实例化出多个对象,实例化出的对象占用实际的物理空间,存储类成员变量
     

    2.2类和对象的区别

     一句话总结:类是对象的模板,对象是类的实例

    类通过对象才可以使用,但开发之中应该先产生类之后再产生对象

    类不能直接使用,对象可以直接使用。

    2.3在Java中的定义和使用

    类,使用关键字class完成。

    1. class 类名称 {
    2. 属性 (变量) ;
    3. 行为 (方法) ;
    4. }

    范例:定义一个Person类

    1. class Person { // 类名要 大驼峰
    2. String name ; //姓名
    3. int age ; //年龄
    4. public void print() { //方法
    5. System.out.println("姓名:" + name + ",年龄:" + age) ;
    6. }
    7. }

            类定义完成之后,依旧无法直接使用。如果要使用,必须创建对象。通过类创建对象的过程,称为类的实例化,在java中采用new关键字,配合类名来实例化对象。


    类是引用数据类型,实例化对象有两种方式:(在人这个类中定义女人这个对象)

    (1)方式一:声明并实例化对象(一步)

    1. //类名称 对象名称 = new 类名称 () ;
    2. Person women = new Person();

    (2)方式二:先声明对象,然后实例化对象(两步)

    1. //类名称 对象名称 = null ;
    2. //对象名称 = new 类名称 () ;
    3. Person women = null;
    4. women = new Person();

            引用数据类型(类)与基本数据类型(int)最大的不同在于:引用数据类型需要内存的分配和使用。所以,关键字new的主要功能就是分配内存空间,也就是说,只要使用引用数据类型,就要使用关键字new来分配内存空间。任何情况下,只要看见关键字new,都表示要分配新的堆内存空间,一旦堆内存空间分配了,里面就会有类中定义的属性,并且属性内容都是其对应数据类型的默认值。

    当一个实例化对象产生之后,可以按照如下的方式进行类的操作:
    (一)对象.属性:表示调用类之中的属性; 

     women.name = "马冬梅" ;//操作属性内容

    (二)对象.方法():表示调用类之中的方法。

     women.print() ;//调用类中的print()方法

    范例:使用对象操作类 

    1. class Person { // 类名要 大驼峰
    2. String name ; //姓名
    3. int age ; //年龄
    4. public void print() { //方法
    5. System.out.println("姓名:" + name + ",年龄:" + age) ;
    6. }
    7. }
    8. public class Test{
    9. public static void main(String args[]) {
    10. Person women = new Person() ;// 声明并实例化对象
    11. women.name = "马冬梅" ;//操作属性内容
    12. women.age = 30 ;//操作属性内容
    13. women.print() ;//调用类中的print()方法
    14. }
    15. }

    运行结果:    姓名:马冬梅,年龄:30

    2.4注意事项

    1. 一般一个文件当中只定义一个类
    2. public修饰的类必须要和文件名相同 
    3. main方法所在的类一般要使用public修饰 (注意:Eclipse默认会在public修饰的类中找main方法)
    4. 不要轻易去修改public修饰的类的名称。

    3对象引用传递精髓

    引用传递的精髓:

    1、同一块堆内存空间,可以同时被多个栈内存所指向

    2、不同的栈可以修改同一块堆内存的内容。

    4内存垃圾

            内存垃圾:指的是在程序开发之中没有任何对象所指向的一块堆内存空间,这块空间就成为垃圾,所有的垃圾将等待GC(垃圾收集器)不定期自动进行回收与空间的释放。

  • 相关阅读:
    拉链表及常见问题
    【Linux】时间同步
    常见树种(贵州省):005竹类
    为什么亚马逊的轻量应用服务器这么受欢迎 | 个人体验 | 优势所在
    AUTOSAR知识点 之 多核启动 (一):英飞凌单片机的多核启动详细解析
    最新ChatGPT商业运营系统源码+支持GPT4/支持ai绘画+支持Midjourney绘画
    Java中快速掌握正则表达式
    Echarts:双折线图的值一样,高度却不一样
    ahooks 是怎么处理 DOM 的?
    工程(十四)——ubuntu20.04 PL-VINS
  • 原文地址:https://blog.csdn.net/m0_65601072/article/details/126911478