Java笔记-类和对象

New一个对象可以看做:

public static void main(String[] args) {
        String str;
        str = new String();
    }

创建一个对象的过程:

  • 分配对象空间 String str;
  • 执行属性值的显式初始化
  • 执行构造方法 str = new String();
  • 返回对象的地址给相关的变量

1、构造方法的四要点:

  1. 构造器的方法名必须与类名保持一致。
  2. 构造器虽然有返回值,但是不能定义返回值类型(返回值的类型肯定是本类),不能在构造器里使用return返回某个值。
  3. 如果我们没有定义构造器,则编译器会自动定义一个无参的构造方法,如果已经定义则构造器不会自动添加。
  4. 构造器通过new关键字调用。
  5. 构造函数调用必须是构造函数中的第一个语句。
  6. 构造器内调构造器必须用this().

2、this的应用:

  • This():构造方法的的调用(只能处在构造方法中,且必须处在第一句)
  • 每个方法都有一个隐藏的this:他指向堆的对象地址(0x1).
  • this不能用于static方法中(比如main方法。
  • this 指向对象的地址(那个对象调用的方法,this在方法中就是指向对象)

3、static——静态变量和静态方法:

1、在类中,static声明的成员变量为静态成员变量,也称类变量,类变量的生命周期和类相同,在整个程序执行期间都有效,他有如下特点:

  • 为该类的公用变量,属于类,被该类的所有实例共享,在类被载入时被显式初始化。
  • 对该类的所有对象来说,static成员变量只有一份。被该类的所有对象共享。
  • 一般用“类名.类属性/方法”来调用(也可通过对象引用或类名(不需要实例化)访问静态成员。)
  • 在static方法中不可直接访问非static的成员。
  • Static{}静态初始化块,类加载自动运行语句块。

4、局部变量、成员变量、类变量的区别

类型

声明位置

从属于

生命周期

局部变量

方法或语句块内部

方法/语句块

方法挂他挂

成员变量

类内部、方法外部

对象

对象创建,他跟着创建

类变量

类内部、static修饰

类被加载他就有效

原文地址:https://www.cnblogs.com/baisha/p/15399122.html