2. Java基础和细节-对象与类

1. 类之间的关系

        1)依赖(uses-a)

        2)聚合(has-a)

        3)继承(is-a)

 类关系的UML符合如下:

 

2. 时间

        1)Date用来表示时间点

        2)GregorianCalendar日历表示法,继承Calendar

        3)不同地区的输出,在main方法的第一行添加:

Locale.setDefault(Locale.ITALY);

 

3. 重载

        1)相同的函数名字,不同的参数,可以是个数不同或者参数类型不同

        2)返回值不同不是重载

 

4. 调用构造器步骤

        1)所有数据域被初始化为默认值(0、false或null)

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

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

        4)执行这个构造器的主体

        5)Random

 

5. 关闭钩子

        Runtime.addShutdownHook

 

6. 包作用域

        1)public任意使用

        2)private只能被定义它们的类使用

        3)什么都不指定,可以被同一个包中的所有方法访问

        4)protected继承,同一个包

 publicprotecteddefaultprivate
同类TTTT
同包TTT 
子类(不同包)TT  
不同包中无继承关系的类T   

 

7. 设置类路径

        java -cp/-classpath c:\classdir:.:c:\archives\archive.jar MyProg.java

 

8. 文档注释

        1)插入注释,/**开始,*/结束,中间是自由格式文本;或者以@开始。自由格式文本可以使用html修饰符,用于强调的<em></em>,等宽"打字机"字体的<code></code>,着重强调的<strong></strong>以及包含图像的<img src="doc-files/uml.png" alt="UML diagram" >,图像文件放在子目录doc-files中

        2)方法注释

                @param variable description 

                @return description

                @throws class description

         3)域注释,只需要对公有域(通常是静态常量)建立文档                 

/**
 * The "Hearts" card suit
 */
public static final int HEARTS = 1;
         4)通用注释
                @author name
                @version text   当前版本描述
                @since text  对引入特性的版本描述   @since version 1.7.1
                @deprecated text  取代的建议@deprecated Use<code>setVisible(true)</code>instead 
                @see reference 在see also部分增加一个超级链接reference可以选用
                      package.class#feature label
                      <a href="...">label</a>
                      "text"
                      @see com.horstmann.corejava.Employee#raiseSalary(double)
                      @see <a href="www.horstmann.com/corejava.html">The Core Java page</a>
                      @see "Core Java 2 volume 2"
                 @link,用法同see的第一种用法
        5)包与概述注释
                 提出一个以package.htm命名的文件,在标记<BODY>...</BODY>之间的所有文本会被抽出来
                 提供一个以package-info.java命名的Java文件,该文件以/**开头以*/结束
                 概况性注释,放在overview.html的文件中,该文件位于包含所有源文件的父目录中。 在标记<BODY>...</BODY>之间的所有文本会被抽出来
         6)注释的抽取,切换到project目录下
                  project
                            |-- com
                                      |-- horst
                                                  |--mann
                            |--overview.html
                 
 javadoc -d docDirectory nameOfPackage
                   
javadoc -d docDirectory nameOfPackage1 nameOfPackage2...
                   javadoc -d docDirectory *.java

 
9. 类设计技巧
        1)一定将数据设计为私有
        2)一定要对数据初始化
        3)不要在类中使用过多的基本数据类型,可以使用类组织进行代替
        4)不是所有的域都需要独立的get/set方法
        5)使用标准格式进行类的定义,公有域->包作用域->私有域->实例方法->静态方法->实例域->静态域
        6)将职责过多的类进行分解
        7)类名和方法名要能够体现它们的职责
 
 10. Java注释细节部分,详见

        javadoc - The Java API Documentation Generator

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值