`
田智伟
  • 浏览: 206406 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

java--一切皆对象

阅读更多

java是一门面向对象语言,这个从一开始我们就明白了,可是真正使用过程中,往往我们是把它当做过程语言在使用,主要是没有大局观,代码欠考虑,导致我们一开始的思路就是功能性的东西,而不是对象性的东西,说起来简单,真正做的时候就不见的了。

java中的数据主要的存储是:堆栈、堆,也有少量的磁盘,堆栈中主要存放的是对象的引用,堆中则存放的是对象。

java中的基本类型是个特例,它是直接存储于堆栈中的,所以在必要的时候为了性能其实可以考虑直接使用基本类型,而非对象类型才定义数据,因为堆栈的速度远快于堆。说到效率问题,之前有看到过有人对于for循环的一点建议,不知道是否妥当,没有测试过,及在定义for循环的时候往往需要判断递增/递减量是否大于标准,有人建议如果是集合,先获取集合大小,然后在放入到for循环中作为判断条件,但是看过很多大神的代码,却鲜有发现这么写的,不知道原因何在。

鉴于上述原因也就存在如下状况:

	Integer l = 180;
	Integer i =180;
	System.out.println(l==i);
输出结果为false,当值在-128~127 时值是来自系统缓存,当然这只是指不是通过new的方式初始化变量的时候,这个时候输出为true,而一旦不在这个区间,则会执行相应的new操作

可以设置系统属性 java.lang.Integer.IntegerCache.high 修改缓冲区上限,默认为127。参数内容应为大于127的十进制数形式的字符串,否则将被忽略。取值范围为127-Long.MAX_VALUE,但是用时将强转为int。如果这里设置了那么上述的结果也会发生相应的变化,可以参考http://duzc2.iteye.com/blog/1542890

鉴于基本类型机器包装类存在数值精度问题,可以考虑使用BigInteger和BigDecimal这两个对象,他们可以表示任意大小的整数类型/浮点类型,通常考虑用来表示货币等高精度。

创建一个数组对象的时候实际上不只是创建了一个引用的数组,同时也是为每个引用自动初始化了一个特定的值,之所以说特定是因为如果数组是对象类型的,则都为null,若果为基本类型的,则基本为0表示,java的垃圾回收器回收的只是监视通过new方式创建的所有对象,也就是说基本类型可能不在考虑范围以内。

java的注释,这个很奇特,/*开始*/结尾的为段注释//为行注释,这种注释主要是用来给开发者自己来看的,而且个人的经验发现,这样的注释其实在实际应用中作用比较局限,为了偷懒我还是习惯于使用/**开头*/结尾的文档注释,这个兼具段注释和行注释的功能(当然不是优点),同时在多态等情况下可以很好的知道引用的方法的说明,而不用跳转到对应的类或者方法来查看,如果你有用eclipse等工具你就明白了,顺带说一下,对于接口和实现类,如果你使用接口作为变量定义,那么我建议如果你要写注释,至少至少要给接口类中的方法加上注释,否则在你当做实现类来用的时候基本看不到注释(好吧这个有点绕了,比如你定义了person的接口,同时定义了student的实现,当你在一个类中试图给person赋值student,同时想使用这个变量,那么至少给person中的方法加上文档注释,你会幸福的)

常用的标签就不说了,主要是我不常用的在这里mark一下

这里先插一点:

什么是独立文档标签(独立文档标签是以@开头,且要置于注释行的最前面(不算前导*)

什么是行内文档标签(可以出现在javadoc注释--记住是javadoc,不是普通注释的任意地方,他们是以@开头但要包含在花括号中)

@see 这个标签用来产生一个连接,文档中可以使用如下三种:

@see classname

@see fully-qualified-classname

@see fully-qualified-classname#method-name

javadoc不会检测提供的连接是否有效,只会在文档中增加一个See Also(参见)的条目

 

{@link package.class#member label}

该标签于@see标签相似,只是它被用于行内,并且用“label” 作为超链接文本(label相当于替换了最终生成的文档中的“See Also”)

{@inheritDoc}

这个就是强大的文档继承功能了,他能继承直接父类相关文档到当前文档

 

0
0
分享到:
评论

相关推荐

    java-SE-demo Java学习资料 自习资料练习

    在Java中,一切皆为对象,理解和熟练掌握类的定义、对象的创建、封装、继承、多态等特性至关重要。"java-se-demo"可能包含创建简单类的示例,以及如何通过对象进行交互的练习。 接着,文件I/O操作在实际项目中十分...

    Java-programming-source.rar_java programming

    2. **类与对象**:在Java中,一切皆为对象。类是创建对象的蓝图,包含了数据(成员变量)和行为(方法)。对象则是类的实例,通过new关键字创建。 3. **封装、继承和多态**:这是面向对象编程的三大特性。封装将...

    Java-Study Java 基础 学习.zip

    - 在Java中,一切皆为对象。类是创建对象的模板,包含数据(字段/属性)和行为(方法)。 - 构造器用于初始化新创建的对象。 - 继承允许一个类(子类)继承另一个类(父类)的属性和方法。 4. **封装、继承和...

    java-SE-马士兵笔记word

    - Java中一切皆为对象,包括基本数据类型也是通过包装类实现的。 - **继承、组合、实现、多态**: - 继承表示类之间的层次关系。 - 组合表示类之间的整体-部分关系。 - 实现通常指接口的实现。 - 多态允许子类...

    Java学习笔记-面向对象-001-面向对象概括

    Java语言作为一门纯面向对象的语言,其设计哲学就是"一切皆为对象",这使得它在软件开发领域占据了重要地位。 面向过程开发,也称为结构化开发,主要是以函数或过程为中心,通过一系列有序的步骤来解决问题。这种...

    java-basics-源码.rar

    1. **类与对象**:Java是一种面向对象的编程语言,一切皆为对象。类是创建对象的蓝图,它定义了对象的属性(变量)和行为(方法)。通过阅读源码,我们可以看到如何声明、实例化和使用类与对象。 2. **封装**:封装...

    Java-1020班-孙灿灿.rar

    在Java中,一切皆为对象,类是创建对象的蓝图。类定义了对象的属性(成员变量)和行为(方法)。例如,一个名为"Student"的类可以有"name"和"age"这样的属性,以及"study"和"graduate"这样的行为。对象是类的实例,...

    Java面向对象程序设计

    Java作为一款纯面向对象的语言,其一切皆为对象,包括基本类型都有对应的包装类。 2. **类与对象**:类是创建对象的模板或蓝图,定义了一组相关的属性(数据成员)和方法(成员函数)。对象则是类的实例,具有类...

    Java程序设计----面向对象

    2. 类与对象:在Java中,一切皆为对象。类是创建对象的蓝图,它定义了对象的属性(成员变量)和行为(方法)。通过实例化一个类,我们可以创建出具有特定属性和功能的对象。理解类与对象的关系,以及如何声明、实例...

    java-basic-knowledge.zip_Knowledge

    2. **类与对象**:在Java中,一切皆为对象,而类是创建对象的模板。类定义了对象的状态(数据成员)和行为(方法)。理解类与对象的概念,以及如何通过构造函数创建对象,是学习Java的关键步骤。同时,还需要掌握...

    an-introduction-to-java-programming-3.rar_java programming

    2. **类与对象**:Java是面向对象的,一切皆为对象。类是对象的模板,对象则是类的实例。通过封装、继承和多态这三个面向对象的特性,Java提供了强大的抽象能力。 3. **包(Package)**:Java中的包是组织类和接口...

    零基础学习java--所有代码

    4. **类与对象**:Java是面向对象的语言,一切皆为对象。你需要理解类的定义、对象的创建、封装、继承和多态等概念。类是对象的模板,而对象是类的实例。 5. **数组**:在Java中,数组是存储同一类型元素的集合。你...

    Java-宋鑫-PPT

    1. 类与对象:Java是面向对象的语言,一切皆为对象。类是对象的蓝图,定义了对象的属性(变量)和行为(方法)。通过实例化类,我们可以创建对象。 2. 封装:封装是隐藏对象的内部细节,只暴露必要的接口。这提高了...

    Java-J2SE学习笔记.rar

    2. **类和对象**:在Java中,一切皆为对象。理解类是创建对象的蓝图,而对象是类的实例。了解如何定义类,声明属性和方法,以及如何通过构造器来创建对象。 3. **封装、继承和多态**:封装是隐藏实现细节,提供公共...

    Thinking in Java 自学笔记——第二章 一切皆对象

    ### Thinking in Java 自学笔记——第二章 一切皆对象 #### 重要概念解析 ##### 2.1 用引用操纵对象 在Java中,一切都被视为对象,这意味着无论是字符串、数字还是其他数据类型都可以被视为对象来进行操作。当...

    The-new-JAVA-programming-problem.rar_java programming

    在Java中,一切皆为对象。类是对象的蓝图,定义了对象的属性和行为。通过`class`关键字定义类,`new`关键字用于创建对象。每个类都有一个构造函数,用于初始化新创建的对象。 **方法** 方法是类中的可执行代码块,...

    Java-knowledge-points-list.rar_Knowledge

    2. **类与对象**:Java是面向对象的语言,一切皆为对象。类是创建对象的模板,包含属性(成员变量)和行为(方法)。对象则是类的实例。 3. **封装、继承、多态**:封装是隐藏对象的属性和实现细节;继承允许一个类...

    英文单机java-api

    1. **对象和类**:Java是一种面向对象的语言,一切皆为对象。`Object`是所有类的父类,包含了一些通用的方法如`equals()`、`hashCode()`和`toString()`。了解如何创建类、继承、封装和多态性是Java编程的基础。 2. ...

    Java-OOP.zip_java oop 实验

    2. **Java类与对象**:在Java中,一切皆为对象。类是创建对象的模板,定义了对象的属性(变量)和行为(方法)。实例化一个类创建了一个对象,可以通过对象来调用类的方法和访问其属性。 3. **线程的概念**:线程是...

Global site tag (gtag.js) - Google Analytics