java 抽象类的实现与具体解析 抽象类与接口系列之一 发表于 2019-07-29 分类于 java 热度: 本文字数: 1.3k 阅读时长 ≈ 2 分钟 先有一个前提,抽象类一般是用来做什么用的 我的理解是在一些复杂的项目中,都用到一个方法暂且叫“方法1” 要怎样能统一使用这个“方法1”且方法都能很好的解决问题。 这是抽象类场景应用。 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657package java_10;public class java_10_1 { public static void main(String[] args) { // TODO 自动生成的方法存根 // A1 a=new A1(); 错误,因为抽象类不能实例化,没有价值的 C1 c = new C1(); // C1 是具体类,是有价值的 c.meth_Abstract1(); D1 d1 = new D1(); d1.meth_Abstract2(); d1.meth_Abstract3(); }}// 具体类是 对一个类的抽象,可以实例化。// 抽象类是 对多个类的抽象,不能实例化。abstract class A1 // abstract 用来修饰一个抽象类{} abstract class B1 // 抽象方法:有两个特点 { //1.在定义方法时用abstract 来修饰 //2.且抽象方法没有方法体 public abstract void meth_Abstract1();}abstract class B2 { // public abstract static void meth_Abstract3(); 报错 static不能与 abstract // extends 同时使用 public abstract void meth_Abstract2(); public abstract void meth_Abstract3();}class C1 extends B1 // 抽象类的价值,要求定义出它的派生类,且为具体类{ @Override public void meth_Abstract1() { // TODO 自动生成的方法存根 System.out.println(" C1 extends B1 "); }}class D1 extends B2 { @Override public void meth_Abstract2() { // TODO 自动生成的方法存根 System.out.println("Test1_能不能写多个子类"); } public void meth_Abstract3() { // TODO 自动生成的方法存根 System.out.println("Test2_能不能写多个子类"); }} 打赏由马云爸爸买单,谢谢请我喝牛奶. 打赏 支付宝红包 支付宝