`
jingwuyuan
  • 浏览: 9109 次
  • 性别: Icon_minigender_1
  • 来自: 成都
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

java核心技术基础知识个人总结之——对象与类

阅读更多
一、类:对象状态的改变必须通过调用方法实现,如果不是,那么封装性遭到了破坏,尽量避免这种情况。
类之间的三种关系:1、依赖:一个类里的方法操纵了另一个类的对象,那么说一个类依赖另一个类。这样意味着一个类对象的改变会导致另一个类产生BUG,所以我们应该让类之间的耦合度最小。2.聚合:一个类的对象包含一些其它类的对象,他们就是聚合的。3.继承:一个类用特殊的语法包含了另一个类的方法,并有自己额外的方法,叫做继承。     

          


二、时间日历对象:以后程序中尽量使用GregorianCalendar类,这个类提供了丰富的日历的操作,并可以用setTime(Date time)和getTime()2个方法同Date对象转换,这个类主要有get和set以及add这3个方法去操作日历的,要操作的内容由Calendar类里的常量指定。
java.text.DateFormatSymbols这个对象主要用来获得当地地区的星期几或月份的名称,其中的方法都是返回名称串的数组。

三、定义类:类里的一个方法可以访问所有属于该类的对象的私有数据(个人感觉破坏了私有数据的封装)。实例代码如下:
class Employee{
  private String name;
  public Employee(String n){
    name=n;
  }
  boolean equals(Employee other){
    return name.equals(other.name);
}

}
这个类可以通过编译,就算有个方法访问了一个对象的私有属性。

最好不要编写返回引用可变对象的访问器方法,这样可以用另一个变量去引用同一个对象,那么可以改变这个对象的状态,从而破坏了封装。如果需要返回一个可变对象的引用,应该首先对它进行克隆,并且返回这个克隆对象的引用。

final:这个修饰符应该用于基本数据类型和不可变的类(类中的每个方法都不会改变类就是不可变的类)的对象,其实表示的就是它是个常量。对于可变的类,使用final修饰符会有混乱,仅仅意味着那个引用是不可变是final的,但是那个对象里的东西是可以更改的。

static: 声明为static的域在类的对象里面只有一份拷贝,所有对象共享它,因为它只属于类,所以就算没有类的任何一个对象,它也存在。静态方法是没有this参数的方法(在一个非静态的方法中,this参数表示这个方法的隐式参数),没有this就不能操作对象,所以不能在静态方法中访问实例域。对象可以调用静态方法,但是静态方法里没有任何对象的信息,不能访问非静态的域,所以结果与对象无关,所以尽量不要用对象调用静态方法。
main:所有的类都可以有一个main方法,常用于对类进行单元的测试。


四、方法参数:java中所有的参数都是拷贝,基本类型就是基本类型值的拷贝,对象引用也不是直接把对象的引用传进去的,而也是对对象的引用进行了拷贝传进去的,一定要注意。



五、对象的构造:重载:类里面有多个方法的方法名相同,但是参数不同便产生了重载,但是返回值不同并能作为方法重载的条件。
默认域初始化构造:如果构造器没有显示地给域赋值,那么就会自动的赋值:数值为0,布尔为flase,对象的引用为null。
由于构造器可以重载,所以在一个构造器里可以用this(参数)调用另外一个构造器,比较有用,可以把公用的都需要初始的东西放在一个构造器里供其他的使用。构造器没有返回值,也不用加上void。
经常要记着调用构造器时,各个部分的顺序,和类加载时静态域的顺序。

java.util.Random:int nextInt(int n)返回一个0到n-1之间的随即整数

finalize:可以为任何一个类添加这个方法,那么在对象在被引用垃圾回收清除对象前会调用这个方法,完成一些其他资源的释放,但是很难知道什么时候会垃圾回收,所以可以调用:System.runFinalizersOnExit(true)能确保JAVA关闭前调用finalize,不过这个方法不安全。


六、包:一个类可以使用所属包中的所有类,以及其他包中的公有类。import语句用来导入包,package语句用来把类放入包,如果没有使用该语句,那么类被放置在一个默认包
静态导入:import static 可以使用导入类里的静态方法和静态域,使用这些方法和域的时候必加类名前缀。注意编译器在编译源文件的时候不检查目录结构,但是如果没有声明的包结构,程序无法运行,因为虚拟机找不到类文件。java1.2版本以后明确地禁止加载用户自定义的包名以java.开始的类。

七、类路径:类存储在文件系统的子目录中,类的路径必须与包名匹配。(重要的东西,需要抽空好好研究)


八、文档的注释:javadoc可以由源文件生成一个HTML的文档。所以写好文档的注释可以得到一个很好的HTML文档。
类注释必须放在import语句之后,类定义之前。方法的注释放在方法之前。@用于注释语法的标记,类的标记主要有:author,version,see(类与方法之间的分隔符是#),since,deprecated;方法的标记主要有:param,return,throws。


九、类设计技巧:1、一定将数据设计为私有的,并且不要破坏封装性。2、一定要对数据初始化。3、不要在类中使用过多的基本数据类型,多的话可以放在新类里。4、将职责过多的类进行分解。5、类名和方法名要能够体现他们的职责。
分享到:
评论

相关推荐

    JAVA 核心技术基础篇1

    对于想将Java应用于实际项目中的程序员来说,《Java核心技术——基础知识》修订版是一本权威性的指导书籍。 对于Java SE 6平台的全部更新,这本实用的教程和可靠的参考书通过大量测试过的示例说明了最重要的语言...

    JAVA核心知识点整理——java自学资料.rar

    这份"JAVA核心知识点整理——java自学资料.rar"包含了一份详细的Java学习资源,旨在帮助已经具备一定Java基础知识的开发者进一步提升技能,深入理解Java的底层机制。以下是这份资料可能涵盖的一些核心知识点和学习...

    Java自学之路——超仔细含练习项目及源码 Java知识体系最强总结————含各个阶段的面试题

    本篇文章旨在根据提供的文件信息,深入解读Java自学之路的关键知识点,并针对其中提到的学习资源进行详细的解析,帮助初学者更好地掌握Java的核心知识和技术要点。 ##### 1. Java的历史与背景 Java最初由Sun ...

    深入体验Java Web开发内幕——核心基础

    本主题将深入探讨Java Web开发的核心基础知识,帮助你全面理解这一技术的内在机制。 一、Java Web 开发概述 Java Web开发是利用Java语言进行网络应用设计的技术体系,主要由Servlet、JSP(JavaServer Pages)、JSTL...

    Java核心技术 卷1 基础知识 (第9版(英文).zip

    《Java核心技术 卷1 基础知识》是Java编程领域的经典著作,其第九版针对最新的Java语言特性进行了全面更新。这本书深入浅出地讲解了Java编程的基础概念和技术,是初学者入门和开发者巩固基础的理想读物。以下是本书...

    java核心技术卷一:基础知识(第八版)英文原版

    ### Java核心技术卷一:基础知识(第八版)——关键知识点概览 #### 一、书籍基本信息与作者介绍 《Java核心技术卷一:基础知识》是Java学习领域内的一本经典著作,该书第八版英文原版清晰且非扫描版,确保了读者...

    java课件——全面介绍java知识

    这个"java课件——全面介绍java知识"提供了一套完整的Java学习资源,旨在帮助初学者和进阶者深入理解和掌握Java编程技术。 首先,让我们从基础开始。Java的核心概念包括类、对象、封装、继承、多态。类是对象的模板...

    java核心技术卷1 mobi

    《Java核心技术卷1》是Java开发者必读的经典之作,它深入浅出地讲解了Java编程的基础概念和技术。这本书主要涵盖了Java语言的核心要素,为初学者和有经验的开发者提供了全面的知识框架。 首先,我们来看看“Core ...

    《面向对象程序设计——Java语言》电子课件(程细柱PPT)

    面向对象编程(Object-Oriented Programming,简称OOP)是现代软件开发中的核心编程范式之一,而Java语言则是实现这一范式的强大工具。程细柱的这门课程旨在帮助学习者理解和掌握面向对象的基本概念、原则和技巧,并...

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

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

    java 基础知识储备(csdn)————程序.pdf

    Java的基础知识包括其历史背景、主要特点、不同版本及其重要组件,如JDK、JRE和JVM。 1. **Java的起源**: Java起源于1995年,由James Gosling等人在Sun Microsystems公司开发。它的设计目标是创建一种简洁、面向...

    Java2核心技术 I:基础知识

    《Java2核心技术 I:基础知识》是Java学习领域中一本经典的入门教材,对于想要掌握Java编程语言的人来说,它提供了一个坚实的基础。这本书主要围绕Java的基础知识展开,从基础概念到实际应用,内容全面且深入浅出,...

    java新手必备-java核心技术卷电子版

    《Java新手必备——Java核心技术卷电子版》是Java初学者不可或缺的参考资料,它涵盖了Java编程的基础到高级概念,旨在帮助新手快速掌握这门强大的编程语言。这本书的核心内容围绕着Java的各个方面展开,包括语法基础...

    JAVA核心技术+卷I:基础知识8th(英文版)

    《JAVA核心技术+卷I:基础知识8th(英文版)》是Java编程领域的经典之作,针对初学者和有经验的开发者提供了全面深入的指导。这本书详细介绍了Java语言的基础知识,包括语法、面向对象编程、异常处理、集合框架、...

    深入体验Java_Web开发内幕—核心基础 完整版 pdf

    《深入体验Java_Web开发内幕—核心基础》是一本针对Java Web开发的深度解析书籍,旨在帮助读者全面理解和掌握Java Web开发的核心技术。这本书涵盖了从基础到高级的多个主题,旨在提供一个完整的Java Web开发学习路径...

    Java版五子棋——基础

    根据提供的信息,我们可以总结出以下关于“Java版五子棋——基础”的相关知识点: ### 一、项目概述 本项目为一个基于Java Swing框架开发的五子棋游戏程序。它作为一个简单的实例,可以帮助初学者更好地理解和掌握...

    JAVA面向对象基础

    ### JAVA面向对象基础知识点详解 #### 一、面向对象编程语言的发展史 面向对象编程(Object-Oriented Programming,简称OOP)是一种重要的编程范式,其核心在于将现实世界中的对象及其属性和行为映射到软件系统中...

Global site tag (gtag.js) - Google Analytics