• Java编程思想笔记(第二章)


    第二章  一切都是对象

    尽管Java是基于C++的,但相比之下,Java是一种更纯粹的面向对象程序设计语言.
    c++和Java都是杂合型语言(hybird language)
    用引用(reference)操作对象
    类似遥控器(引用)来操作电视(对象)
    在Java中你可以创建一个引用,但是没有与任何对象关联,比如:
    String s;
    这个时候如果用则会报错.安全的做法是:
    创建一个引用的同时并进行初始化
    String s="1111";
    必须由你创建所有对象
    New关键字的意思是给我一个新对象
    String s = new String("1111");
    存储到什么地方
    1.寄存器(register):这是最快的存储区--处理器内部,数量有限,又编译器根据需求分配
    2.堆栈(stack):位于ram(随机存储器)中,仅次于寄存器存储Java对象的引用(不存对象),需知道所有数据的大小,生命周期,因为它必须生成相应的代码,以便上下移动堆栈指针(下,分配新内存,上,释放内存)
    3.堆(heap):一种通用的内存池(位于ram中),用于存放所有的Java对象
    4.静态存储(static storage):存放程序运行时一直存在的数据,用static标示(ram中)
    5.常量存储(constant storage):(存放在rom(read-only memory)中)存放常量
    6.非RAM存储(non-RAM-storage):例如持久化对象中,对象呗存放于磁盘上,因此程序终止,他们仍然可以保持自己的状态,在需要时可恢复成常规的基于ram的对象
     
    特例:基本类型(primitive type)
    基本类型不用new来创建,并非是一个引用而是一个自动变量,并且其用用值,并置于堆栈中,因此更加高效.

     
    高精度数字(high-precision number)
    BigInteger支持任何精度的整数
    BigDecimal支持任何精度的定点数
    作用域(scoping)
    由花括号的位置决定
    {
    int x=12;//x可用
    {
    int q=3;
    //x q都可用
    }
    }
    对象作用域(scope of object)
    {
    String s=new String("111");
    }//end scope
    引用s在作用域终点就消失了,然而s指向的String对象扔继续占用内存空间.
    创建信的类型数据:类
    class关键字后面紧跟着新类型的名称
    class className{
    //class body goes here
    }
    域(field)和方法(method)
    即数据成员(data member)和成员函数(member function)
    构造器是特殊的一个方法,通过其对对象进行初始化,以便其与一个实际对象关联
    class A{
    int i;
    float f;//域
    public void add(){ //method
    //some code...
    }
    }
    基本成员默认值
     
    方法(method) 参数(argument)和返回值(return value)
    returnType methodName(Argument list){
    //method body
    }
    java中的方法只能作为类的一部分来创建,其只有通过对象才能被调用.
    objectName.methodName(arg1,arg2,arg3);
    Static关键字
    为某特定数据分配一份存储空间,而不考虑要创建多少对象甚至不需要创建对象
    希望某一个方法不与包含他的类的任何对象关联在一起
    (不new对象也可以调用)
    一个static域对每个类来说都只有一份存储空间  而非static域则是对每个对象都有一个存储空间
    编译运行
    比如我们有个HelloDate.java源文件,命令行切换到改目录下,并键入:
    javac HelloDate.java
    进行编译
    java HelloDate
    运行
    文档注释
    /** comment */
    注意:javadoc只能为public和protected成员进行文档注释
    代码风格
    类名的首字母要大写,例如MyFirstClassName,称为驼峰风格
    方法,域也都采用此种方式.只是标识符的第一字母采用小写,例如:
    int myFirstInt;
    void myFirstMethod(int newValue){//..}
  • 相关阅读:
    9.5---所有字符串的排列组合(CC150)
    9.4---集合子集(CC150)
    9.3---魔术索引(CC150)
    5.3(2)----机器人走方格2(CC150)
    9.2---机器人走方格(CC150)
    9.1---上楼梯(CC150)
    5.3---找最近的两个数(CC150)
    5.8---像素设定(CC150)
    7.4---加法替代运算(CC150)
    4.9---二叉树路径和(CC150)
  • 原文地址:https://www.cnblogs.com/LT0314/p/3872488.html
Copyright © 2020-2023  润新知