zoukankan      html  css  js  c++  java
  • 浅谈《think in java》:二 一切都是对象

    清晨坐在图书馆,今天聊聊早晨的“果实”。

    清单1. 引用操作;对象创建;存储地方;基本类型;数组

     

      “reference”:引用[操作对象的标识符]

    例子:创建String类型的引用,并不是对象。

    String s;

    安全一种例子:[创建引用并初始化]

    String s = "ss";

       

      “new”:使引用和新对象关联[对象创建操作符]

    例子:

    String s = new String("objects");

       

      存储:1寄存器  2堆栈  3堆  4常量存储  5非RAM存储[一般java对象存储在堆。]

      

      基本类型:[java每种基本类型存储空间大小不变性    =>   程序的可移植性强 ]

    内容:

    数据类型            大小          范围                                               默认值 
               [bit]
    byte(字节)          8        -128 - 127                                              0
    shot(短整型)        16       -32768 - 32768                                          0
    int(整型)           32       -2147483648-2147483648                                  0
    long(长整型)        64       -9233372036854477808-9233372036854477808                0        
    float(浮点型)       32       -3.40292347E+38-3.40292347E+38                         0.0f
    double(双精度)      64       -1.79769313486231570E+308-1.79769313486231570E+308     0.0d
    char(字符型)        16       ‘ u0000 - uffff ’                                  ‘u0000 ’
    boolean(布尔型)     1         true/false                                           false

      

      非基本对象表示,包装,反转

    char c = 'x';
    Character ch
    = new Character(c);

    相当于:

    Character ch = new Character('x');

    包装[java SE5的自动包装]

    Character ch = 'x';

    反向转换

    char c = ch;

       “null”:关键字[创建引用数组。初始化的特定值]

    清单2. 作用域,类[字段+成员]

      “scope”:作用域[由花括号决定]

    {
       int x = 1;
      {
           int y = 2;    
       }    
    }

      【警告】java中不能这样[这里x已经定义过了。而c++,c中会把大作用域的变量“隐藏“]

    {
       int x = 1;
      {
           int x = 2;    
       }    
    }

      “class”:[创建类的关键字]

      字段:任何对象,基本类型,...

      方法:可有参数,可有返回值

    public class DataOfLi {
        //字段
        int i;
        boolean b;
        DataOfLee dataOfLee = new DataOfLee();
        
        //测试main方法
        public static void main(String[] args) {
            DataOfLi data = new DataOfLi();
            //赋值
            data.i = 1;
            System.out.println(data.i);
            //调用字段里面对象的函数
            data.dataOfLee.show();
        }
        
    }
    
    class DataOfLee {
        int i;
        void show(){
            System.out.println("DataOfLee");
        }
    }

    [对象,方法,字段中间”.“连接]

    清单3, static ,java程序,编码风格

      “static”:[意味着这个域不与任何对象实例关联]

        static为它的成员指定了单一存储空间

    public class DataOfLi {
        //字段
        static int i;
        public static void main(String[] args) {
            DataOfLi data1 = new DataOfLi();
            DataOfLi data2 = new DataOfLi();
            data1.i;
            data2.i;
        
    DataOfLi.i;
    } }
        data1.i;
        data2.i;
          指向同一个存储地址。
        DataOfLi.i;
          直接用类名可以找到


        “main”开始

    public class HelloDate {
        public static void main(String[] args) {
            System.out.println("Hello,it is fine.");
        }
    }
    System.out.println: java.lang => system => out => PrintSystem 中[println]
    {static 用处}
    
    
    args: [用来存储命令行参数]

      编码规范:
      http://blog.163.com/josephn_2001/blog/static/985778120081305835230/



    好,饿了 吃饭....



  • 相关阅读:
    sizeof in C
    Get WIFI SSID and BSSID
    Swift和C混合Socket编程实现简单的ping命令&主机发现
    The different of bit Compiler
    Get all Ethernet information in Swift
    Get Local IP Address in Swift
    编译Unity3D Mono 加密DLL 填坑记
    spring-quartz 项目启动后执行一次job 之后按照规定时间执行job
    通过反射获取SSM的controller层的注解以及注解中的value值
    网页中高亮选中的关键字
  • 原文地址:https://www.cnblogs.com/Alandre/p/3457131.html
Copyright © 2011-2022 走看看