• 面向对象第二天---对象


    一、类的定义

    1.对一类事物的抽象(将事物中的相同属性抽象成文一个类),同一类事物必须具有相同属性。

    2、属性和数据(如 姓名:刘娜,其中姓为属性,刘娜为数据),相同属性的便可看作一类事物,但同一类的不同对象可以具有不同的属性。比如,刘娜这个对象有个头发颜色属性,但是李江权没有头发,故李江权没有头发颜色这个属性,但是在刘娜和李江权共有的类中不能定义头发颜色这个属性。

    3、一个类中只能有一个用public申明的主类。

    二、面向对象(Object Oriened)

    1、对象:一类事物中具体存在的每个个体。

    2、面向对象:是一种思想,把构成问题事物分解成了各个对象。建立对象的目的不是为了完成一个步骤,为了描述某个事物中解决问题中步骤的行为。


    三、面向对象的三大特性

    1、封装

    2、继承

    3、多态


    四、面向对象的语法

    访问修饰符 关键字 class 类名称{

    属性 1;
    属性 2;


    构造器/构造方法(){}

    }
    五、创建对象(类的实例化)

    1、创建对象/实例(类的对象/类的实例): 数据类型 变量名 = new 数据类型();

    2、对象类型:八种基本类型之外,是以类作为数据类型等。

    3、匿名对象:没有引用值,赋值的时候通常会用到,等价于先new在赋值(直接new )。但是其只被使用一次,但是没有应用指向他,会造成匿名对象在使用过后变为垃圾对象,等待gc的回收。


    六、构造方法:

    构造方法的名字与类名保持一致,

    1、无参构造

    2、有参构造(和普通有参方法差不多,只不过方法名和类名相同,不写返回值类型): 在实例化的同时初始化

    如果没有给定构造方法,那么会默认给定一个一个无参构造方法。


    七、this

    理解为隐式的创建了一个当前类对象。


    八、对象内存

    1、方法区里面村的是.class的信息、static修饰静态成员变量(很少会存static修饰的方法)

    2、在一个JVM中只有一个方法区和一个堆内存,被所有的线程所共享。每个线程都具有一个独立的栈空间

    3、方法存在栈内存中,不在堆内存中

    4、局部变量存在栈内存中。

    5、类加载:读取类的属性,开辟堆内存的时候可以知道开辟什么类型的属性。加载的信息放在方法区中

  • 相关阅读:
    使用python自带的http server共享文件
    vim常用快捷键与快捷操作
    wordpress 安装中文插件提示:To perform the requested action, WordPress needs to access your web server. Please enter your FTP cr
    python async异步编程,await后接task(三)
    虚拟机下ubuntu使用df命令查看磁盘空间小于实际空间
    python线程池
    使用Redis连接错误处理It was not possible to connect to the redis server(s);to create a disconnected multiple
    Sqlite数据库设置密码小工具
    [转]netcore一键部署到linux服务器以服务方式后台运行
    C#3种常见的定时器(多线程)
  • 原文地址:https://www.cnblogs.com/JQbiu/p/10801886.html
Copyright © 2020-2023  润新知