一.对Java说明书(帮助文档)的制作
以数组为例
//制作说明书格式
//可以根据javadoc 查看
public class ArrayDemo{ //一般格式: javadoc -d(目录名) -author -version ArrayTool.java
public static void main(String[] args){
int[] arr={28,35,36,58,38};
ArrayTool.printArray(arr); //遍历
int max=ArrayTool.getMax(arr);//获取最大值 ,通过类名访问
System.out.println("max: "+max);
int index=ArrayTool.getIndex(arr,max); //获取最大值索引
System.out.println("最大值索引为: "+index);
}
}
/**
* 这是对数组进行的操作的工具类
*@author 朱嘉 //缺少@帮助文档会变得难看,且文档不会提取作者
*@version v.1.0plus
*/
public class ArrayTool{ //不可以class ArrayTool{ 报错:找不到可以文档化的公共或受保护的类。 要用public,因为其权限大
/**
*这是私有构造
*/
private ArrayTool(){}; //把构造方法私有,外界就就不能创建对象,只能通过类名来调用。
/**
* 这是获取数组最大值的的方法
@param arr 这是要获取最大值的数组 //@param 为参数的意思,不可省
*@return 返回的是数组的最大值
*/
public static int getMax(int[] arr){ //获取最大值
int max=arr[0];
for(int i=1;i<arr.length;i++) {
if(arr[0]<arr[i]) {max=arr[i]; }
}
return max;
}
/**
*这是将数组进行遍历的方法
*@param arr 这是要进行遍历的数组
*
*/
public static void printArray(int[] arr ){
for(int i=0;i<arr.length;i++){
if(i==arr.length-1){
System.out.println(arr[i]);
}
else {System.out.print(arr[i]+","); };
}
}
/**
*这是获取数组元素在第一次出现时的索引
*@param arr 这是要获取索引的数组
*@param value 这是要查找的元素
*@return 如果存在返回元素的索引,否则返回-1
*/
public static int getIndex(int[] arr,int value){
int index=-1;
for(int i=0;i<arr.length;i++){
if (arr[i]==value){index=i;
break;
}
}
return index;
}
}
在dos命令中输入javadoc -d first -author -version ArrayTool.java 就可以生成first说明书,打开里面的index.html文件即可看到自己的说明书
二.近期对继承的学习
1.使用关键字extends
2.java只支持单继承
3.子类不能继承父类的构造方法和私有方法(父类私有方法)
4.子类成员变量和父类成员变量一样,调用时的规则为:
- 在子类局部方法找,有就使用
- 在子类成员范围找,有就使用
- 在父类成员范围找,有就使用
5.继承最重要的是触发了重写机制,有了重写也就有了多态
6.子类构造方法被调用时,会先执行父类的无参构造
具体示例如下:
public class Demo{
static Fu a=new Fu();//静态代码块,会在下一篇博客做出展示
public static void main(String[] args){
int l=50;
Zi a=new Zi(l);
}
}
public class Fu{
public int L=10;
public Fu(){
System.out.println("Fu的无参构造被调用");
}
public Fu(int l){
System.out.println("Fu的有参构造被调用");
}
}
class Zi extends Fu{
public int L=20;
public Zi(){}
public Zi(int L){
super(L);
System.out.println("Zi的无参构造被调用");
System.out.println(L);
System.out.println(this.L);
System.out.println(super.L);
// Fu();报错,因为子类无法继承父类的构造方法(但可以通过super()调用)
}
}
])