|NO.Z.00064|——————————|BigDataEnd|——|Java&多态特殊类.V05|——|Java.v05|抽象方法|抽象类|概念|实际意义|开发经验|

一、抽象方法和抽象类概念
### --- 抽象方法的概念

~~~     ——>        抽象方法主要指不能具体实现的方法并且使用abstract关键字修饰,也就是没有方法体。
~~~     ——>        具体格式如下:
~~~     ——>            访问权限abstract 返回值类型方法名(形参列表);
~~~     ——>            public abstract void cry();
二、抽象类的概念
### --- 抽象类的概念

~~~     ——>        抽象类主要指不能具体实例化的类并且使用abstract关键字修饰,也就是不能创建对象。
三、抽象类和抽象方法的关系
### --- 抽象类和抽象方法的关系

~~~     ——>        抽象类中可以有成员变量、构造方法、成员方法;
~~~     ——>        抽象类中可以没有抽象方法,也可以有抽象方法;
~~~     ——>        拥有抽象方法的类必须是抽象类,因此真正意义上的抽象类应该是具有抽象方法并且使用abstract关键字修饰的类。
四、抽象类的实际意义
### --- 抽象类的实际意义

~~~     ——>        抽象类的实际意义不在于创建对象而在于被继承。
~~~     ——>        当一个类继承抽象类后必须重写抽象方法,否则该类也变成抽象类,
~~~     ——>        也就是抽象类对子类具有强制性和规范性,因此叫做模板设计模式。
五、开发经验分享
### --- 开发经验分享

~~~     ——>        在以后的开发中推荐使用多态的格式,
~~~     ——>        此时父类类型引用直接调用的所有方法一定是父类中拥有的方法,若以后更换子类时,
~~~     ——>        只需要将new关键字后面的子类类型修改而其它地方无需改变就可以立即生效,从
~~~     ——>        而提高了代码的可维护性和可扩展型。
~~~     ——>        该方式的缺点就是:父类引用不能直接调用子类独有的方法,
~~~     ——>        若调用则需要强制类型转换。
六、编程代码:声明一个抽象类 
package com.yanqi.task09;

public abstract class AbstractTest {
    private int cnt;

    public AbstractTest() {
    }

    public AbstractTest(int cnt) {
        setCnt(cnt);
    }

    public int getCnt() {
        return cnt;
    }

    public void setCnt(int cnt) {
        this.cnt = cnt;
    }

    // 自定义抽象方法
    public abstract void show();

    public static void main(String[] args) {

        // 声明该类类型的引用指向该类类型的对象
        //AbstractTest at = new AbstractTest();
        //System.out.println("at.cnt = " + at.cnt); // 0
    }
}
七、编译打印
D:\JAVA\jdk-11.0.2\bin\java.exe "-javaagent:D:\IntelliJIDEA\IntelliJ IDEA 2019.3.3\lib\idea_rt.jar=53224:D:\IntelliJIDEA\IntelliJ IDEA 2019.3.3\bin" -Dfile.encoding=UTF-8 -classpath E:\NO.Z.10000——javaproject\NO.H.00001.javase\javase\out\production\javase com.yanqi.task09.AbstractTest

Process finished with exit code 0

 
 
 
 
 
 
 
 
 

Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
                                                                                                                                                   ——W.S.Landor

 

 

posted on   yanqi_vip  阅读(17)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示