1.文档注释(★)
使用javadoc工具,对指定类文件生成API帮助文档,javadoc -d myhelp ArrayTool.java,在myhelp下生成。
注释/** */ 针对javadoc
ArrayTool.java
/**
建立一个数组工具类,包括遍历、排序,求最大值等常用函数。
@author 张三
@version 1.0
*/
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
d)类通过implements实现接口
e)接口可以继承多个接口,类可以先继承类,再实现多个接口
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
只用于引用类型的类型判定
使用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
只用于引用类型的类型判定