/*--- 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(){
}
* 抽象类无法被实例化
* 只有被继承才有意义
* 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);
}
}