`
hesihua
  • 浏览: 233688 次
  • 性别: Icon_minigender_2
  • 来自: 武汉
社区版块
存档分类
最新评论

java核心技术总结三

    博客分类:
  • java
 
阅读更多

第四章:对象和类

1、在类之间,最常见的关系有:

依赖:即"use-a"关系,例如Order类使用Account类是因为Order对象需要访问Account对象查看信用状态。应该将相互依赖的类减少到最少。它用箭头表示,箭头指向被依赖的那个类,使用虚线。

聚合:即"has-a"关系,也可以说是"关联",聚合关系意味着类A的对象包含类B的对象。它用菱形表示,菱形放在A上

继承:即"is-a"关系,表示特殊和一般的关系。它用三角形表示,如果是实现接口的话,使用的是虚线,三角形放在被继承的类上。

2、并不是所有的类都具有面向对象的特征。例如Math类。

3、对象不会自动被初始化为null,而必须通过调用new或将它们设置为null进行初始化。

      java对象变量与c++的引用类似,这种说法是错误的。在c++中没有空引用,并且引用不能被赋值。可以将java对象看成是c++的对象指针。

4、java将时间与日历类分开是一种很好的面向对象设计。Date类中用来比较2个时间点的方法有before和after,它的getDay,getMonth,getYear方法不推荐。GregorianCalendar日历类有很多方法都可用。比如说构造器就有好几种。

Locale.setDefault(Locale.ITALY)这句话放在main函数的第一行可以看到不同地区的程序输出

  在c++中带有const后缀的方法是访问器方法,默认为更改器方法。

5、主力类:类中没有main方法,有自定义的实例域和实例方法

6、java中必须注意所有的方法中不要命名与实例域相同名的变量。

   在java中必须使用new关键字来创建一个对象,下面的这句话可以在c++中通过。

   Employee number("aaa","001");

7、 a.method(b);在java中a被称为隐式参数,b被称为显式参数。

8、目前我写程序还是会出现的一个问题是: java中规定最好不要返回引用可变对象的访问器方法。因为这样会破坏封装性。

如 public Date gmethod(){return date;} 这个毛病我到目前为止还是会犯。如果要想返回引用可变对象,需要进行克隆。如return (Date)date.clone();

9、final修饰符经常用于基本类型和不可变类。比如String类就是一个final类,即String类中的方法不会改变这个String对象。

10、static域被称为类域,它属于类,而不属于任何独立的对象。如System.out常量就是一个静态的,out的类型是PrintStream。值得注意的是System类的setOut方法可以将System.out设置为不同的流。原来是这个方法是一个本地方法,而不是java语言实现的。本地方法可以绕过java语言的存取控制机制。

可以使用对象来调用静态方法。但是最好还是使用类去调用

   使用静态方法的情形有:

   1、一个方法不需要访问对象状态,其所有参数都通过显示参数提供。如Math.pow

   2、一个方法只需要访问静态域。

  NumberFormat类使用factory方法产生不同风格的格式对象。

在C++中使用::操作符访问自身作用域之外的静态域和静态方法。

    static方法的意义: 最开始是在c中被用的,表示退出一个块后依然存在的局部变量。接着在c中的第二种定义是不能被其他文件访问的全局变量和函数。接着在c++中得到重用表示属于类但是不属于类对象的变量和函数。

11、java程序设计中,方法参数的使用情况:

(1)、一个方法不能修改一个基本数据类型的参数(即数值型和布尔型)

(2)、一个方法可以改变一个对象参数的状态

(3)、一个方法不能实现让对象参数引用一个新的对象。

c++中有值调用和引用调用2种,引用参数标有&符号。

12、方法签名包括:方法名,参数类型,但是不包括返回类型。java允许重载任何方法,而不只是构造器方法。

13、java语言中能够让一个构造器调用另外一个构造器,但是c++中是不允许的。

14、java调用构造器的过程:

(1)、所有的数据域被初始化为默认值

(2)、按照在类声明中出现的顺序,依次执行所有域初始化语句和初始化块

(3)、如果构造器第一行调用了第二个构造器,则执行第二个构造器主体

(4)、执行当前这个构造器的主体

15、java有自动的垃圾回收机制,不需要人工回收内存,所以java不支持析构器。

16、java中可以将类导入进来,然后进行使用,有的时候可以直接在类中写上类名.方法名。但是C++不支持这种方式,它必须使用#include将外部特性的声明加载进来,因为C++编译器无法查看任何文件的内部。在C++中与包机制类似的是命名空间。

17、Window类中有很多域没有加上private关键字修饰。

18、java类的设计技巧:

(1)、一定要将数据设计为私有

(2)、一定要对数据进行初始化

(3)、不要在类中使用过多地基本数据类型:用类代替多个相关的基本数据类型的使用。

(4)、不是所有的域都需要独立的域访问器和域更改器

(5)、使用标准格式进行类的定义

(6)、将职责过多的类进行分解

(7)、类名和方法名要能够体现他们的职责



分享到:
评论

相关推荐

    史上最全的Java核心技术总结.pdf

    Java核心技术总结 Java是一种面向对象的编程语言,它的核心技术包括Java虚拟机(JVM)、Java核心技术、Java并发编程、计算机网络等。以下是Java核心技术的总结: 一、Java虚拟机(JVM) Java虚拟机(JVM)是Java ...

    Java核心技术+基础知识+面试汇总大全 完整PDF版

    这是一套Java核心技术基础使用手册,包含Java 基础核心总结、Java核心基础、Java核心知识、Java 基础面试题总结等,内含最强 Java 核心知识点整理及思维导图,需要的朋友可下载试试! Java是一门编程语言,Java发展...

    java核心技术卷1第九版高清中文版

    总结来说,《java核心技术卷1第九版高清中文版》是一本非常适合Java初学者的参考书,它的内容全面、系统,并且随着Java技术的持续发展而更新,保证了读者能接触到最前沿的Java知识。通过系统的学习和实践这本书的...

    java 核心技术2

    总结来说,《Java 核心技术》第二卷是Java语言进阶学习的重要书籍,它不仅覆盖了Java编程的高级话题,而且以深入浅出的方式帮助读者掌握这些知识点,使得学习者在理论和实践上都能够进一步提升自己的Java编程能力。...

    Java核心技术笔记

    Java核心技术笔记涵盖了许多Java编程的关键知识点,以下是这些主题的详细说明: 1. **面向对象技术**:面向对象编程(OOP)是Java的核心概念。它包括类、对象、封装、继承、多态等核心概念。类是对象的蓝图,定义了...

    Java核心技术+卷1+基础知识+原书第10版-中文版扫描-带书签已OCR

    根据提供的文件标题、描述、标签以及部分内容,我们可以推断出这份文档主要涵盖了Java核心技术的基础部分,特别是针对第10版的内容。接下来,我们将基于这些信息深入探讨相关的知识点。 ### Java核心技术卷1基础...

    《深入理解Java 7 核心技术与最佳实践》PDF版本下载.txt

    根据提供的文件信息,我们可以推断出这是一本关于Java 7 的书籍——《深入理解Java 7 核心技术与最佳实践》,并且提供了该书PDF版本的下载链接。接下来,我们将围绕这一主题展开讨论,主要从以下几个方面进行深入...

    Java核心技术介绍-java核心技术讲解word格式可编辑.docx

    ### Java核心技术介绍 #### 一、Java网络编程基础 Java的核心技术之一是其强大的网络编程支持,这得益于Java建立在TCP/IP网络平台上的特性。Java的库函数提供了使用HTTP和FTP协议来发送和接收信息的方法,这对于...

    java核心技术中的经典程序

    总结来说,这个压缩包提供了一个深入学习Java核心技术的平台,包括了实际的代码示例、库文件和相关文档。通过分析和实践这些内容,开发者不仅可以掌握Java编程的基本技能,还能了解到如何使用第三方库来提升应用的...

    java 核心技术卷 第10版 卷II 高级特性

    根据提供的信息,我们可以总结出《Java核心技术卷 第10版 卷II 高级特性》这本书涵盖的关键知识点和相关信息。 ### Java核心技术卷 第10版 卷II 高级特性 #### 关于本书 《Java核心技术卷 第10版 卷II 高级特性》...

    Java核心技术 第八版 卷Ⅰ(基础篇)电子版

    ### Java核心技术 第八版 卷Ⅰ:基础知识 #### 一、概述 《Java核心技术》第八版卷Ⅰ,作为Sun公司核心技术丛书中的一部重要著作,由Cay S. Horstmann和Gary Cornell共同撰写,是Java学习者和开发者不可多得的经典...

    java核心技术 java技术

    总结起来,Java核心技术涵盖了语言基础、类库利用、内存管理、并发编程、网络编程、I/O操作和集合框架等多个方面。掌握这些知识,开发者能够有效地构建高效、健壮且易于维护的Java应用程序。23225052525.pdf文件可能...

    Java 核心技术经验总结

    Java 核心技术经验总结

    java 技术总结.--java 技术

    这篇“Java技术总结”将深入探讨Java的核心概念、语法特性、开发工具以及相关框架,旨在为学习者提供一个全面且深入的Java知识体系。 一、Java语言基础 Java是一种面向对象的编程语言,由Sun Microsystems(现已被...

    Java 基础核心总结.pdf

    12. **版本发展**:随着技术的进步,Java经历了多次重大更新,如Java 6、Java 7、Java 8等,引入了新特性,如Lambda表达式、并发改进、类型推断等。 13. **平台版本**:Java有三个主要版本:Java SE(标准版,适用...

    《java核心技术》这是学习java一本很好的书 这是下部 还有上部!

    ### Java核心技术:高级特性 #### 一、书籍概述与作者介绍 《Java核心技术》是一本深受广大Java开发者喜爱的专业书籍,由Cay S. Horstmann等专家共同编写。本书分为上下两卷,上卷主要介绍了Java的核心语言特性和...

    JAVA核心面试知识整理.pdf

    Java核心面试知识整理包括了对JVM内存区域、...总结而言,这份面试知识点整理为Java开发者提供了一个全面、系统的复习框架,帮助面试者巩固和加深对Java核心技术的理解,以便在面试中展现出扎实的理论基础和实践能力。

    Java_EE的13种核心技术

    在Steven Gould所列出的Java EE的13种核心技术中,每一项都扮演着关键角色,共同构建了Java EE的强大功能。 ### 1. JDBC (Java Database Connectivity) JDBC是Java应用程序与各种数据库之间通信的标准接口,提供了...

Global site tag (gtag.js) - Google Analytics