zoukankan      html  css  js  c++  java
  • Java学习的随笔(一)对象概念、this指针、权限修饰符

    最近在看《Java编程思想》,下面按照最近看书的顺序梳理一下心得,由于是初次学习,大部分心得是摘抄自书中:

    1. Java中,每个变量都是一个对象。

      在创建时首先在内存的堆栈中创建一个该对象的引用,然后调用该对象的构造函数在内存的堆上面建立该对象,并将该对象与堆栈中的引用相连接。

      例如:Stack test = new Stack();

      在等号左面 Stack test 首先创建了一个对象test的引用,然后  new Stack() 在堆中申请一块内存空间,并调用构造函数创建了一个对象,最后将这个对象与test连接起来。

      盗用一张别人的图片,左边是堆栈中的对象引用,右边是堆中对象实体

     

      因此,Java的使用空间分为两部分,引用和对象实体。通过引用可以调用对象实体。

      可以看出,Java中的对象并不要求在声明时就一定执行初始化,声明只相当于在栈中创建一个引用。因此,在使用这个对象之前要对该对象进行初始化,否则编译器会报错。

    2. this的使用

      在Java中,this用来表示对“调用方法的那个对象”的引用。

      因此,this常在以下情形中被使用:

        (1)当需要返回对当前对象的引用时。

        public class Leaf{

        int i =0;

        Leaf increment() {

          i++;

          return this;

          }

        }

        (2)在构造器中调用构造器

        可能为一个类写了多个构造器,有时可能想在一个构造器中调用另一个构造器,可用this做到这一点。

        public class Flower{

        Flower()

        {

          System.out.println("This is  the first Constructure!");

        }

        Flower(String ss)

        {

          this();

          System.out.println("The string is  " + ss);

        }

        }

        注意:使用this只能调用一个构造函数。

    3.Java访问权限修饰词

      
    今天先写这些,,,明天继续
  • 相关阅读:
    c# Chart 服务器端动态创建ChartArea
    解决 ASP.NET Chart 控件出错 为 ChartImg.axd 执行子请求时出错
    C# Chart控件,chart、Series、ChartArea曲线图绘制的重要属性
    JSON和JS对象之间的互转
    MAC OS下使用OpenSSL生成私钥和公钥的方法
    iOS 牛人技术博客分享
    iOS开发之头像裁剪
    iOS开发之使用CALayer封装下载进度条
    iOS开发之使用UIimage+ImageEffects实现图片模糊效果
    我的第一个开源项目(Auditory)
  • 原文地址:https://www.cnblogs.com/kingatnuaa/p/4033550.html
Copyright © 2011-2022 走看看