码迷,mamicode.com
首页 > 编程语言 > 详细

Java 抽象类

时间:2020-01-01 23:28:06      阅读:85      评论:0      收藏:0      [点我收藏+]

标签:ted   抽象方法   img   子类   str   声明   方法   pre   extend   

新的一年,新的开始.

抽象类


  • 抽象类和抽象方法用abstract来修饰
  • 如果一个类包含抽象方法,那么该类必须是抽象类.
  • 抽象类不能被实例化,不能被new.
  • 构造方法,用static修饰的方法不能声明为抽象方法
  • 抽象类中抽象方法只是声明,不能给出方法的具体实现过程

Test.java


abstract class A {
    A() {
        System.out.println("adstract created");
    }
    abstract void example();//如果一个类包含抽象方法,那么该类必须是抽象类,也就是A必须是抽象类
    void method() {//成员方法,成员变量,构造方法的访问方式都是和普通类一样
        System.out.println("method created");
    }
}
class B extends A {
    void example() {//抽象类子类必须给出抽象中抽象方法的具体实现,除非该类也是抽象类                                                                                                                          
        System.out.println("adstract method overload of B");
    }
}
class C extends A {
    void example() {
        System.out.println("adstract method overload of C");
    }
}

public class Test {
    public static void main(String []args) {
        //A error = new A(); //抽象类不能被实例化,不能被NEW
        System.out.println("-----B-----");
        A test = new B();
        test.example();
        test.method();
        System.out.println("-----C-----");
        A test2 = new C();
        test2.example();
        test.method();
    }
}

运行结果


技术图片

总结


抽象类除了不能实例化对象外,其他功能依然存在.成员变量,成员方法和构造方法的访问方式和普通类一样.

Java 抽象类

标签:ted   抽象方法   img   子类   str   声明   方法   pre   extend   

原文地址:https://www.cnblogs.com/jizizh/p/12130381.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!