最近在看《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访问权限修饰词

  
今天先写这些,,,明天继续

Java学习的随笔(一)对象概念、this指针、权限修饰符的更多相关文章

  1. php类的继承(基本概念,访问权限修饰符,重写override)

    类的继承 简单理解: 某个类A具有某些特征,另一个类B,也具有A类的所有特征,并且还可能具有自己的更多的一些特征,此时,我们就可以实现:B类使用A的特征信息并继续添加自己的一些特有特征信息. 基本概念 ...

  2. this/super/static/final/匿名对象/继承/抽象类/访问权限修饰符

    1.this关键字的作用     1)调用本类中的属性;     2)调用本类中的构造方法;且只能放首行,且必须留一个构造方法作为出口,即不能递归调用     3)表示当前对象; 2.匿名对象     ...

  3. Java学习笔记10---访问权限修饰符如何控制成员变量、成员方法及类的访问范围

    1.Java有三种访问权限修饰符,分别为public.protected.private,还有一种为缺省权限修饰符的情况,记为default.其中,可以由public和default来修饰类:这四种修 ...

  4. Java基础学习笔记(四) - 认识final关键字、权限修饰符和内部类

    一.final关键字 为什么要使用 final 关键字? 通过继承我们知道,子类可以重写父类的成员变量和方法.final 关键字可以用于修饰父类,父类成员变量和方法,使其内容不可以被更改. 1.被修饰 ...

  5. java学习(权限修饰符)

    Java中,可以使用访问控制符来保护对类.变量.方法和构造方法的访问.Java 支持 4 种不同的访问权限. default (即缺省,什么也不写): 在同一包内可见,不使用任何修饰符.使用对象:类. ...

  6. java中权限修饰符protected的使用注意事项

    java中四种权限修饰符, 平时编码中最常用的其实public和private, 虽然对protected的概念一直都知道, 但真正使用时才发现有些偏差. protected表示被其修饰的成员可以被本 ...

  7. Java中的四种权限修饰符及六种非访问修饰符(简识)

    一.是哪四种访问权限修饰符呢? public > protected > [default] > private (公共的 ) (受保护的) (默认的) (私有的) 二.简单认识四种 ...

  8. 对于Java中权限修饰符的理解

    老是把Java中权限修饰符给忘记,写一个博客加深印象吧 权限分为四个作用域:当前类,同一个包,其他包的子类,其他包的类. 首先要知道包的概念,Java中一个包是指一个package下的所有文件. pr ...

  9. java中的权限修饰符的理解

    首先了解概念: 在java中有四种权限修饰符:范围从大到小分别是:public.protect.default(friendly).private,它们之间的区别是: public: Java语言中访 ...

  10. Java中的权限修饰符private、protected、public

    java中的修饰符分类: 权限修饰符: private, default, protected, public 状态修饰符: static, final 抽象修饰符: abstract 权限修饰符 我 ...

随机推荐

  1. 浅谈html5某些新元素的用途

    大家都知道html是一种前端网页语言,从出现到现在已经经历了很多的版本了,但是随着html的不断发展,现在的html5已经不再是单一的前端页面语言了,html,javascript,css不再单纯的只 ...

  2. QT QSettings 操作(导入导出、保存获取信息)*.ini文件详解

    1.QSettings基本使用 1.1.生成.ini文件,来点实用的代码吧. QString fileName;fileName = QCoreApplication::applicationDirP ...

  3. jQuery慢慢啃之事件(七)

    1.ready(fn)//当DOM载入就绪可以查询及操纵时绑定一个要执行的函数. $(document).ready(function(){ // 在这里写你的代码...}); 使用 $(docume ...

  4. sed 简明教程

    做个标记 http://coolshell.cn/articles/9104.html sed全名叫stream editor,流编辑器,用程序的方式来编辑文本,相当的hacker啊.sed基本上就是 ...

  5. ZOJ3870 Team Formation

    /** Author: Oliver ProblemId: ZOJ3870 Team Formation */ /* 思路 1.异或运算,使用^会爆,想到二进制: 2.我们可以试着从前往后模拟一位一位 ...

  6. ROW_NUMBER() OVER函数的基本用法用法

    ROW_NUMBER() OVER函数的基本用法用法 转自:http://www.cnblogs.com/icebutterfly/archive/2009/08/05/1539657.html 语法 ...

  7. CSS浮动元素的水平居中

    方法一: <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> ...

  8. [css][移动设备]禁止横竖屏时内容自动调整

    参考:http://www.kankanews.com/ICkengine/archives/106643.shtml iOS下当竖屏转向横屏的时候,发现内容字体会自动变大,通过各种方法设置字体大小都 ...

  9. PHPCMS get当中使用limit

    最近在用PHPCMS V9做一个站子,发现get标签非常好用,自定义模型后get几乎变成万能的了.但是PHPCMS升级到V9后,把2008的很多功能都去掉了,比如get标签中,在后面自动添加了一个LI ...

  10. python操作memcache

            48.python 操作memcached                  Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存 ...