美文网首页
Think in java随手笔记--------一切都是对象

Think in java随手笔记--------一切都是对象

作者: Android_Strange | 来源:发表于2016-11-15 13:38 被阅读0次

    众所周知,java这门语言的核心便是面向对象,那么,在java中,对象是什么呢?相对于c++来说,java基于c++,但是java是一种更纯粹的面向对象程序设计语言。学习java这门语言,必须透彻的理解OOP的概念,在java中,(几乎)一切都是对象,在Think in java中,第二章便透彻的说明了对象这个名词,以下是我对于这一章内容的理解。

    一切都是对象

    • 1.用引用操纵对象
      • 每种编程语言都有自己的操纵内存中元素的方式
      • java通过创建一个引用来操纵对象 例如以下
        String s;
        s.run();
        
        其中s为创建的引用,利用s来操纵对象,当向s发送一个消息时,s开始调用run()方法。
    • 2.必须由你创建所有对象
      • 对象的存储
        • 寄存器:最快的存储区,但是数量有限,不能够直接控制,寄存器会根据需求自动分配
        • 堆栈:快速有效的存储方式,速度仅次于寄存器;堆栈指针向上移动,释放内存,堆栈指针向下移动,分配新的内存;java对象并不存储在堆栈内
        • 堆:一种通用的内存池,用于存放java对象
        • 常量存储:用于定义并存储常量
        • 非RAM存储
      • 基本类型(基本类型表见文章最后)
        • boolean 类型所占的存储空间大小没有明确的指定,但是定义只能取true和false
        • java提供了两个可以用于高精度计算的类:BigInteger和BigDecimal
          • BigInteger支持任意精度的整数
          • BigDeciaml支持任意精度的定点数
      • java中的数组
        • 每当定义一个数组,如果并未赋值,默认数组为空,并不会报错
    • 3.永远不需要销毁对象
      • 作用域
        • 在java中作用域由花括号的位置决定。例如
         {
            int x = 12;
            //Only x available
              {
               int q = 96;    
                //Both x&q available
              }
               //Only x available
               //q is "out of scope"
        }
        
        • 定义过的变量不可以重复定义(c++中可以但是java中不允许)。例如:
        {
            int x = 12;
            {
             int x =96;//不合法
            }
        }
        
        以上的例子不合法。
      • 对象的作用域
        • 当使用new定义一个对象时,对象可以存活于作用域之外,例如:
        {
            String s = new String("a string");
        } //End of scope
        
        以上的代码中,使用new定义了一个String对象,在作用域外,s消失,但是s指向的String对象仍然占据内存空间(如果不理解s指向,请去了解内存分析方面的知识)。
    • 4.创建新的数据类型:类
      • 字段和方法
        • 在定义一个类之后,可以在类中使用两种类型的元素,第一种是字段,第二种是方法;
        • 字段:字段就是数据成员,定义一个数据,可以有不同数据类型的数据
        • 方法:方法就是用来操作的过程,有时也被称为成员函数
        • 字段实例
        class A{
            int i;
            double d;
            boolea b;
        }
        
        • 方法实例
        class B{
            i.data;
        }//data即为一个方法
        
        • 基本成员的默认值,只有当变量作为类的成员使用时,java才确保给定其默认值(意味只有在定义的类中才可以使用默认值)(默认值表在文章最后)
    • 5.方法参数和返回值
      • 参数列表
    • 6.构建一个java程序
      • 名字可见性
      • 运用其他构件
      • static关键字
    • 7.你的第一个java程序
    • 8.注释和嵌入式文档
      • 注释代码
      • 语法
      • 嵌入式HTML
      • 一些标签及其示例
      • 文档示例
    • 9.编码风格
    • 10.总结
    基本类型 大小 最小值 最大值 包装器类型
    boolean - - - Boolean
    char 16-bit Unicode 0 Unicode 2^16-1 Character
    byte 8-bit -128 +127 Byte
    short 16-bit -2^15 +2^15-1 Short
    int 32-bit -2^31 -2^31-1 Integer
    long 64-bit -2^63 -2^63-1 Long
    float 32-bit 1EEE754 1EEE754 Float
    double 64-bit 1EEE754 1EEE754 Double
    void - - - Void
    基本类型 默认值
    boolean false
    char '\u0000'(null)
    byte '(byte)0'
    short '(short)0'
    int 0
    long 0L
    float 0.0f
    double 0.0d

    相关文章

      网友评论

          本文标题:Think in java随手笔记--------一切都是对象

          本文链接:https://www.haomeiwen.com/subject/lxiouttx.html