day5 Java学习(面向对象)

面向对象

 构造方法概述和作用

   给对象的数据(属性)进行初始化

  构造方法格式特点

      * 方法名与类名相同(大小也要与类名一致)。

      * 没有返回值类型,连void 都没有。

      * 没有具体的返回值return。

构造方法快捷键:

     alt + shift + s +c 生产空参构造

    alt + shift + s +o 生产有参构造

    alt + shift + s +r 生产set和get方法

  重载:

      * 方法名相同,与返回值类型无关(构造方法没有返回值),只看传参数列表

  注意事项

      1.如果我们没有给出构造方法,系统将自动提供一个无参数构造方法。

      2.如果我们给出了构造方法,系统将不再提供一个无参数构造方法。(建议永远自己给出无参构造方法)

      3.构造犯法不能用对象调用

创建一个对象的步骤:

 1.构造class加载进内存。

2.声明一个该类型的引用

3.在堆内创建对象

4.给对象中属性默认初始化值

5.属性进行显示初始化(如果没有这步,直接进行第六步)

6.构造方法进栈,对对象中的属性赋值,构造方法弹栈

7.将对象的地址值赋值给引用

面向对象(static关键字)

 特点:

    1.随着类的加载而加载。

    2.优先于对象存在。

    3.被类的所有对象共享。

    4.可以通过类名调用

注意事项:

 1.静态方法中是没有this关键字的。

      * 静态是随着类的加载而加载,this是随着对象的创建而存在。

      * 静态比对象先存在。

 2.静态只能访问静态。

静态变量跟成员变量的区别:

* 静态变量也叫类变量,成员变量也叫对象变量。

  1.所属不同

      * 静态变量属于类,所以也称为类变量。

      * 成员变量是属于对象,所以也成为实例变量( 对象变量)。

  2.内存中位置不同

       * 静态变量存储于方法区的静态区。

       * 成员变量存储于堆内存。

  3.内存出现时间不同

        * 静态变量随着类的加载而加载,随着类的消失而消失。

        * 成员变量随着对象的创建而存在,随着对象的消失而消失。

   4.调用不同 

        * 静态变量可以通过类名调用,也可以通过对象调用。

        * 成员变量只能通过对象名调用。 

如果一个类的所有方法都是静态的,需要再多做一步,私有构造方法,

目的是不让其他类创建本类对象。

直接用类名 . 调用即可

Math类的随机数功能:

   Math.random()会生产大于等于0.0并且小于1.0的伪随机数

 

 

     

原文地址:https://www.cnblogs.com/feng0001/p/10871978.html