(笔记六)文档注视、单例模式、继承、抽象类、接口、多态

来源:互联网 发布:卡梅隆安东尼体测数据 编辑:程序博客网 时间:2024/05/17 06:16
1.文档注释(★)
使用javadoc工具,对指定类文件生成API帮助文档,javadoc -d myhelp ArrayTool.java,在myhelp下生成。
注释/** */ 针对javadoc

ArrayTool.java
/**
建立一个数组工具类,包括遍历、排序,求最大值等常用函数。
@author 张三
@version 1.0
*/
public class ArrayTool{private ArrayTool(){}/**获取整数数组的最大值@param arr 接受一个int类型的数组@return 返回数组的最大值*/public static int max(int[] arr){int max=arr[0];for(int i=1;i<arr.length;i++){if(max<arr[i]){max=arr[i];}}return max;}}

2.一个文件只能有一个包含public类(★)
一个文件中若出现多个类,只能有一个类是public,否则编译错误。

3.单例模式
a)内存图解,见视频08-05(★★★★)
b)懒汉与饿汉模式
懒汉式,可能涉及多线程操作,使用锁或双重检查,会导致一部分性能的损失。
c)如果类不涉及复杂的初始化,可以创建一个类,把所有的方法和变量都定义为静态的,但它的控制权在JVM,初始化时可能存在不容易发现和次序的bug

4.继承
a)关键字extends
b)super关键字,访问基类的成员
c)子类实例化,内存图解(★★★★)
见视频08-11,08-12
d)子类方法与父类方法同名时,覆盖父类方法,可以不加任何关键字

5.继承与构造函数
a)子类所有的构造函数中,默认隐藏super()的调用,若父类没有无参构造函数,必须指定super参数(★★★★)
b)同this()一样,必须出现在第一句,不能同时出现。(★★★★)
c)实例化,构造函数内存图解见视频09-03(★★★★)

6.final
a)可以修饰类,方法和变量
b)修饰类,不可以被继承
c)修饰方法,不可被子类覆盖
d)修饰变量是一个常量,只能赋值一次,常量名通常大写

7.命名规范(★★★★)
a)类的方法与属性、变量通常小写开头,后面单词首字母大写
b)final 常量名通常大写,多个单词中用下划线连接

8.抽象类
a)可以有构造函数
b)不能与关键字private,static,final共存

9.接口(★★★★★)
a)包括全局常量:public static final 
b)抽象方法:public abstract
interface Demo{public static final int NUM=4;public abstract void show();}
c)修饰符public,static,final,abstract,都可以省略,会自动添加
d)类通过implements实现接口
e)接口可以继承多个接口,类可以先继承类,再实现多个接口
interface A{}interface B extends A{}class X{}class Y extends X implements A{}

10.多态
a)父类或接口的引用可以指向其子类的对象。
b)弊端:在子类中添加新的功能,抽象和接口不能访问
c)A a=new B(),A同时存在method方法和num成员变量,静态method2
a.method指向B的方法
a.num指向A的num
a.method2指向A的method2

11.instanceof
只用于引用类型的类型判定
原创粉丝点击