/*--- abstract 放在class之前表示抽象类 --
*
抽象类无法被实例化
* 只有被继承才有意义
* abstract 不能和final 同时出现
* */
//public abstract class ClassA {
//
int num;
//
//
//抽象类中的方法 不一定是抽象
//
// 没有抽象方法 也可以是抽象类
//
void fun(){
//
System.out.println("!!!!");
//
}
//
//}
public abstract class ClassA {
int num;
//若有抽象方法 (只有声明没有实现, 没有函数体)
// 当前这个类必须为抽象类
abstract void fun();
//抽象类中 可以有一般方法
void fun2(){
}
final void fun3(){
}
}
public class ClassB extends ClassA{ //若父类 有抽象方法 // 1当前类 实现该方法 // 2当前类也是抽象类 @Override void fun() { // TODO Auto-generated method stub }
}
public class MaintTest { public static void main(String[] args) { //抽象类 无法new对象// ClassA obj = new ClassA(); //用抽象类的子类取创建实例 ClassB obj = new ClassB(); obj.num = 10; System.out.print(obj.num); obj.fun(); System.out.print( ClassA.class); }}