abstract关键字
abstract 修饰的方法:没有方法体,只有方法的声明,这样的方法称为抽象方法。
abstract 修饰的类:抽象类。不能被实例化。
ps:抽象方法的类一定是抽象类,但抽象类中可以没有抽象方法。
public class TestAbstract{
public static void main(String[] args) {
CC cc = new CC();
}
}
abstract class CC{
abstract void test();
}
1、用abstract关键字来修饰一个类时,这个类就叫做抽象类;用abstract来修饰一个方法时,该方法叫做抽象方法。
2、抽象方法:只有方法的声明,没有方法的实现。以分号结束。
3、含有抽象方法的类必须被声明为抽象类。
4、抽象类不能被实例化。
5、不能用abstract修饰私有方法,构造方法,静态方法。
内部类
1、在类的内壁直接创建一个CompareObject 接口的一个实现类对象(匿名内部类)。
//这是一个接口
interface CompareObject {
public int compareTo(Object1 o1, Object2 o2);
}
//这是一个内部类的实现
public class TestInnerClass{
public static void main(String[] args) {
CompareObject hello = new CompareObject (){
public int compareTo(Object1 o1, Object2 o2){
return 0;
}
};
}
}
2、对于非静态内部类:必须先创建外部类对象,然后在创建内部类对象。
3、对于静态内部类:内部类使用tatic来修饰,所以创建该类的对象可以没有外部类对象,静态内部类的方法不可以访问非静态内部类的成员。