zoukankan      html  css  js  c++  java
  • 4.2Java对象创建过程和this的本质

    4.2Java对象创建过程和this的本质

    本章内容

    • 对象创建的过程

    • this关键字的本质


    对象创建的过程

    步骤:

    • 分配对象空间,并将对象成员变量初始化为0或空---方法区

    • 执行属性值的显式初始化

    • 执行构造方法---在这之前对象已经建好了

    • 返回对象的地址给相关变量

    this

    this的使用域

    • 用于普通的方法和构造器

    this的本质:

    • 创建好的对象的地址

    特点:

    • 在构造方法调用前,对象已经创建。

    • 在构造方法中也可以使用this代表"当前对象"---注意这里的类信息,所以用static修饰的是类信息不是对象,写了this会发现类里面没有对象。所以在static方法中不能用this也不能调用普通的方法。因为没有

    作用:

    • 代表当前方法所带的对象

    用法:

    • 通过this区分局部变量和成员变量

      • 实例:

      • /**
        * 测试this关键字
        * @author Lucifer
        */
        public class User {
           //定义三个属性
           int id;
           String name;
           String pwd;

           public User(){
          }
           public User(int id, String name){
               System.out.println("正在初始化已经创建好的对象:" + this);
               this.id = id; //不写this,无法区分局部变量id和成员变量id
               this.name = name;
          }

           public void login(){
               System.out.println(this.name + ",要登录!"); //不写this效果一样
          }

           public static void main(String[] args) {
               User u3 = new User(101,"Lucifer");
               System.out.println("打印Lucifer对象:" + u3);
               u3.login();
          }
        }
      •  

    It's a lonely road!!!
  • 相关阅读:
    【剑指Offer】21、栈的压入、弹出序列
    【剑指Offer】20、包含min函数的栈
    【剑指Offer】19、顺时针打印矩阵
    【Shell编程】Shell基本语法
    【Shell编程】Shell程序设计
    linux 大中括号变量解读
    Python 二进制,十进制,十六进制转换
    Python3.x和Python2.x的区别
    python通过SSH登陆linux并操作
    PEP8特性
  • 原文地址:https://www.cnblogs.com/JunkingBoy/p/14613102.html
Copyright © 2011-2022 走看看