• java第五章:面向对象(oop)


    对象:具有特征和功能的实例。

    :是对对象的抽象,是人们脑海中的概念,是具有共同特征或相同行为的对象的集合,利用类可以创建对象;

    创建类:[修饰符] class 类名{                创建对象:类名 对象名 = new 类名();

      属性:类似于变量的命名,[修饰符] 数据类型 属性名    类比:Scanner input = new Scanner(System.in);

      方法:[修饰符]  返回值类型 方法名(形参列表){    访问属性并赋值:对象名.属性名 = 值;

            方法体;                  访问方法(非static): 对象名.方法名();

    }                              访问静态方法:类名/对象名.方法名();

    }

    成员变量和局部变量的区别:

    1.作用域不同:成员变量作用于当前整个类体;局部变量只作用于当前方法。

    2.声明之后是否具有初始值:成员变量有,int类型0、String类型null、double类型0.0、boolean类型false;

                 局部变量没,必须声明赋值之后才能使用。

    3.在内存的位置不同:局部变量存放在栈内存中,方法调用完毕之后会自动释放内存;new出来的存放在堆内存,需要JVM的垃圾回收机制来回收(gc);方法区存放的是类的信息,static变量,字符串常量等;

    4.是否能使用修饰符:成员变量可以使用(public ,static,protected,private),而局部变量不可以(只能不写或者final);

    构造器constructor(构造函数,构造方法):

    作用:为成员变量初始化赋值;

    语法:1.方法名必须与类名相同

       2.有返回值,但没有返回值类型(void也不可以,void也是一种返回值类型!),可以使用return关键字。

       3.如果类中没有构造器,new的时候,jvm会默认提供一个无参构造器。

        如果类中有有参构造器,jvm不会再提供无参构造器,也就是无参构造自动失效。想要使用,必须自己创建。

       4.无参构造和有参构造,形成了方法的重载(方法名相同,形参列表不同);

    this关键字

    this代表当前对象本身

    1.可以区分成员变量和局部变量;

    2.可以调用成员属性和成员方法;

    3.可以调用构造器,但必须放在构造器的第一行;

    值传递和引用传递

    如果传递的参数的数据类型是基本数据类型,出了当前方法,不会保留更改结果;

    如果参数是引用数据类型(类/对象,数组,接口),其在方法中更改的结果会被保留。引用传递保存的不是值,而是对象的引用(地址);

  • 相关阅读:
    Openstack Swift 原理、架构与 API 介绍
    ReentrantLock 以及 AQS 实现原理
    AtomicInteger源码分析——基于CAS的乐观锁实
    深入浅出ThreadLocal
    Spring IOC的理解
    tomcat8 注册成服务后接sql数据失败
    Video.js 截图 Failed to execute 'drawImage' on 'CanvasRenderingContext2D'
    H5 播放Hls
    Video.js 源码浅析
    Hls流播放延时
  • 原文地址:https://www.cnblogs.com/SXTzhaopengda/p/6933386.html
Copyright © 2020-2023  润新知