Java编程思想学习录(连载之:一切都是对象)

Macbook Air

注: 本文原载于 My Personal Blog:CodeSheep · 程序羊


还是有必要学习一下关于·一切都是对象

说Java是一种纯粹的面向对象的语言,可能这话主要是针对和C++的比较而言,毕竟C++提供了向C的后向兼容的能力,致使C++好像面向对象得不那么纯粹,这话我大概同意吧。

Java均是在用reference来操作对象

比较安全的做法是:创建引用的同时对其进行初始化

对象由我们来创建但却不需要我们来销毁

  • 对于基本类型

    • 无需用new,java视其为非引用的自动变量,并置于stack之中
    • 基本类型有其包装器类,这才允许将其创建于heap之中,当然包装完之后也不能叫基本类型对象了
    • java所有数值都有正负,不支持无符号
    • BigInteger和BigDecimal是Java支持的两大高精类型
  • 对于数组

    • java在每个数组上用了一点内存开销以及运行时的下标检查为代价,带来了收益是:java确保数组会被初始化(对象数组元素初始化为null,基本类型数组元素初始化为0),且不会越界访问
  • 对于class

    • 基本数据类型成员会确保有默认值(但该条款不适用与局部变量)
    • 称呼上惯用方法来取代函数;方法名和参数列表成为方法签名;调用方法的行为称为发消息给对象
  • 关于作用域

    • java不允许覆盖一个较大作用域的变量,如下:
{
  int x = 12;
  {
    int x = 96; // 这在Java里是不合法的
  }
}
  • 关于Static对象
    • 一份存储空间
    • 直接使用类名来引用static成员更常见
  • 关于一个java程序
    • java.lang肯定会被自动导入到每一个java文件中
    • 一个java源码文件 = 一个编译单元
    • java源文件名 = 源文件中仅有的一个public类名,且该类必须包含一个main()方法(当然一个java文件中无public类也是ok的!)
    • 每个java类都有一个main()方法是OK的,这样还便于单元测试!

CodeSheep
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,780评论 18 399
  • 从三月份找实习到现在,面了一些公司,挂了不少,但最终还是拿到小米、百度、阿里、京东、新浪、CVTE、乐视家的研发岗...
    时芥蓝阅读 42,378评论 11 349
  • (一)Java部分 1、列举出JAVA中6个比较常用的包【天威诚信面试题】 【参考答案】 java.lang;ja...
    独云阅读 7,144评论 0 62
  • “分析听众”的重要性 在演讲的时候要“分析听众”是一个非常简单的常识,以致于我们常常都会忽略。特别是在同质的场合进...
    意为安阅读 3,190评论 0 4
  • 这篇我们主要关注在实际开发中会遇到哪些内存管理问题,以及如何使用工具来调试和解决。本文demo下载地址 悬挂指针问...
    雷鸣1010阅读 4,396评论 2 6