面向对象-基础

文章目录

    • OOP 简介
      • 声明 class 的基本语法
      • 属性和变量的区别
    • 类和对象
      • 类的声明
      • 类的实例化
      • 空对象
      • 属性的默认值

OOP 简介

面向对象编程(Object Oriented Programming)
以具体的事或物(Object)为核心进行分析和处理问题的编程思想,称为 OOP。

所谓的面向对象,是指分析问题时,以问题所涉及到的事或物为中心的分析方式。

重点是对一系列的事物进行提炼

归纳和整理的结果就是类 Class,具体的事或物就是对象 Object,也称实例。

OOP 三大特征:

  • 继承
  • 封装
  • 多态

声明 class 的基本语法

[可见性] class 类名 {
    属性:共有的特征,对名词进行提炼
    方法:共有的功能,对动词进行提炼
}

通常,类名的首字母要大写,采用大驼峰

属性和变量的区别

  • 属性的作用域为当前类,还可跟随对象变化;变量的作用域为大括号内部。
  • 属性不用初始化,JVM 会在实例化类时自动初始化;变量必须初始化。

类和对象

类的声明

// 类的声明(元空间)
class Student {
    String name;

    void study() { // void 表示方法的返回值
        System.out.println("学生 " + name + " 在学习");
    }

    // 当参数的个数不确定,但类型一致时,可声明可变参数,可变参数应位于参数列表的最后。
    String test(int... a) {
        System.out.println(a);
        return "test";
    }
}

类的实例化

类的实例化,即创建对象

// 变量 a 中存储的是对象的内存地址(引用、指针),对象的数据存储在堆空间,变量 a 存储在栈空间。
Student a = new Student(); 
a.name = "jack";
a.study();

空对象

空对象(null):所有引用类型的变量默认值是 null。

// 特殊对象:空对象(null),没有引用的对象,称之为空对象。
// 所有引用类型的变量默认值就是 null
Student b = null;
System.out.println(b);

属性的默认值

如果声明类时,没有指定属性的默认值。那么,创建对象时,类的属性会默认初始化,初始化的值和属性的数据类型有关。

  • byte, short, int, long 的默认值为 0
  • float, double 的默认值为 0.0
  • boolean 的默认值为 false
  • char 的默认值为空字符
  • 引用数据类型的默认值为 null

你可能感兴趣的:(#,Java,基础,java,OOP,面向对象)