Java--创建与初始化对象 & 构造器 & 引用类型 & 属性 & 类的方法 & java对象的创建和使用

Posted Z && Y

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java--创建与初始化对象 & 构造器 & 引用类型 & 属性 & 类的方法 & java对象的创建和使用相关的知识,希望对你有一定的参考价值。

1. 创建与初始化对象

使用new关键字创建对象

  • 使用new关键字创建的时候,除了分配内存空间之外,还会给 创建好的对象 进行默认的初始化 以 及对类中构造器的调用。

分析: 如果程序运行了这段代码

class Student {
    private String name;

    public static void main(String[] args) {
        Student student = new Student();
    }
}
  1. 为对象分配内存空间,将对象的实例变量自动初始化默认值为0/false/null。(实例变量的隐式赋 值)
  2. 如果代码中实例变量有显式赋值,那么就将之前的默认值覆盖掉。(之后可以通过例子看到这个现象) 例如:显式赋值
class Student {
    private String name = "Tom";

    public static void main(String[] args) {
        Student student = new Student();
        System.out.println("student.name: " + student.name);
    }
}

  1. 调用构造器
  2. 把对象内存地址值赋值给变量。(=号赋值操作)

2. 构造器

类中的构造器也称为构造方法,是在进行创建对象的时候必须要调用的。并且构造器有以下两个特点:

  1. 必须和类的名字相同
  2. 必须没有返回类型,也不能写void

2.1 构造器的作用:

  1. 使用new创建对象的时候必须使用类的构造器
  2. 构造器中的代码执行后可以给对象中的属性初始化赋值


2.2 构造器重载

除了无参构造器之外,很多时候我们还会使用有参构造器,在创建对象时候可以给属性赋值

示例:


2.3 构造器之间的调用

  • 使用this关键字,在一个构造器中可以调用另一个构造器的代码。
  • 注意:this的这种用法不会产生新的对象,只是调用了构造器中的代码而已。一般情况下只有使用new关键字才会创建新对象。

【演示】

class Student {
    private final String name;

    public Student() {
    // 使用this关键字调用含有一个参数的构造器
        this("Jack");
    }

    public Student(String name) {
        this.name = name;
    }

    public static void main(String[] args) {
        Student student = new Student();
        System.out.println("student.name: " + student.name);
    }
}


2.4 默认构造器

在java中,即使我们在编写类的时候没有写构造器,那么在编译之后也会自动的添加一个无参构造器,这个无参构造器也被称为默认的构造器。

【示例】

class Student {
    private String name;

    public static void main(String[] args) {
        //编译通过,因为有无参构造器
        Student student = new Student();
    }
}

但是,如果我们手动的编写了一个构造器,那么编译后就不会添加任何构造器了


3. 引用类型的概念

  1. java中,除了基本数据类型之外的其他类型称之为引用类型。
  2. java中的对象是通过引用来操作的。(引用:reference)说白了,引用指的就是对象的地址!

4. 属性(field,或者叫成员变量)

  1. 属性用于定义该类或该类对象包含的数据或者说静态属性。
  2. 属性作用范围是整个类体。
  3. 属性的默认初始化:在定义成员变量时可以对其初始化,如果不对其初始化,Java使用默认的值对其初始化。(数值:0(整型),0.0(浮点型),char:u0000,boolean:false,,所有引用类型:null)

属性定义格式:


注:如果一个方法或者属性有多个修饰符,这多个修饰符是没有先后顺序的


5. 类的方法

方法是类和对象动态行为特征的抽象。方法很类似于面向过程中的函数。面向过程中,函数是最基本单位,整个程序有一个个函数调用组成;面向对象中,整个程序的基本单位是类,方法是从属于类或对象的。

方法定义格式:


6. java对象的创建和使用

  • 必须使用 new 关键字创建对象

  • 使用对象(引用) . 成员变量来引用对象的成员变量。
  • 使用对象(引用) . 方法(参数列表)来调用对象的方法。

类中就是:

  • 静态的数据
  • 动态的行为


以上是关于Java--创建与初始化对象 & 构造器 & 引用类型 & 属性 & 类的方法 & java对象的创建和使用的主要内容,如果未能解决你的问题,请参考以下文章

2019-05-15 Java学习日记之面向对象_构造方法&静态static

JAVA构造器,重载与重写

Java编程思想(初始化与清理)

新手小白学JAVA 面向对象2 构造函数 构造代码块 this

深入理解Java对象的创建过程:类的初始化与实例化

Java构造方法与析构方法