zoukankan      html  css  js  c++  java
  • 面向对象

    一、构造方法
    1. 构造方法概述和作用
    a. 给对象的数据(属性)进行初始化
    2. 构造方法格式特点
    a. 方法名与类名相同(大小也要与类名一致)
    b. 没有返回值类型,连void都没有
    c. 没有具体的返回值return;
    3. 构造方法重载
    a. 方法名相同,与返回值类型无关(构造方法没有返回值),只看参数列表
    4. 构造方法注意事项
    a. 如果我们没有给出构造方法,系统将自动提供一个无参的构造方法。
    b. 如果我们给出了构造方法,系统将不再提供默认的无参构造方法。
    ※ 注意:这个时候我们如果还想使用无参的构造方法,就必须自己定义,建议永远要自己给出无参的构造方法。

    二、给成员变量赋值的两种方式的区别
    1. 两种方式:
    a. 使用有参构造方法赋值。eg:Person p1=new Person("张三",23);
    b. 使用setXxx方法赋值。eg: p1.setName("张天翼");
    2. 区别:
    a. 构造方法:一般用来给对象中的属性进行初始化
    b. setXxx()方法:修改属性的值。
    ※ 实际使用中,setXxx()的方式更灵活一点。
    三、创建对象的步骤:
    Student s=new Student();
    a. Student.class加载进内存
    b. 声明一个Student类型引用s
    c. 在堆内存创建对象
    d. 给对象中属性默认初始化值
    e. 属性进行显示初始化
    f. 构造方法进栈,对对象中的属性赋值,构造方法弹栈
    g.将对象的地址赋值给s
    .

    四、static关键字
    1. static关键字的特点
    a. 随着类的加载而加载
    b. 优先于对象存在
    c. 被类的多有对象共享
    i. eg:我们班级的学生共用一个班级号
    ii. 什么时候使用static
    1) 如果某成员变量是被所有对象共享的,那么它就应该被定义为静态的。
    d. 可以通过类名调用
    i. 其实它本身也可以通过对象调用
    ii. 推荐使用类名调用
    iii. 静态修饰的内容一般我们称其为:与类相关的,类成员
    2. static的注意事项
    a. 在静态方法中是没有this关键字的
    i. 如何理解:
    1) 静态是随着类的加载而加载,this是随着对象的创建二存在的。
    2) 静态比对象先存在。
    b. 费静态方法只能访问静态的成员变量和静态的成员方法:
    i. 静态方法:
    1) 成员变量:只能访问静态变量
    2) 成员方法:只能访问静态成员方法
    ii. 费静态方法:
    1) 成员变量:可以是静态的,也可以是费静态的。
    2) 成员方法:可以是静态的成员方法,也可以是费静态的成员方法。
    iii. 简单记:
    1) 静态只能访问静态。

    五、静态变量和成员变量的区别:
    1. 所属不同
    a. 静态变量属于类,所以也称为类变量
    b. 成员变量属于对象,所以也称为实例变量(对象变量)
    2. 内存中位置不同
    a. 静态变量存储于方法区的静态区
    b. 成员变量存储于堆内存。
    3. 内存出现的时间不同:
    a. 静态变量随着类的加载而加载,随着类的消失而消失。
    b. 成员变量随着对象的创建而存在,随着对象的消失而消失。
    4. 调用不同:
    a. 静态变量可以通过类名调用,也可以通过对象调用。
    b. 成员变量只能通过对象名调用。

    六、工具类中使用static
    如果一个方法中所有方法都是静态的,那么就需要将该类的构造方法设置为私有的,禁止该类创建对象。

  • 相关阅读:
    C#中String类的几个方法(IndexOf、LastIndexOf、Substring)
    typedef void (*Fun) (void) 的理解——函数指针——typedef函数指针
    Source Insight 常用设置和快捷键大全
    关闭SourceInsight的大括号自动缩进
    MDK中One ELF Section per Function选项功能探究【转载】
    Application.DoEvents()的作用
    C#中Invoke的用法
    C# 委托的应用1:将方法作为参数传递给另一个方法[转]
    C#之委托(函数参数传递)【转】
    sk-learn 选择正确的估算器
  • 原文地址:https://www.cnblogs.com/snail0404/p/10415880.html
Copyright © 2011-2022 走看看