zoukankan      html  css  js  c++  java
  • java中抽象类的概念

    抽象类

    public abstract class A{}

    抽象类中可以定义抽象方法和普通方法;抽象方法指的是没有方法体的方法

    public abtract void function();//抽象方法
    

    由于抽象方法没有方法体,所以不能够直接被调用,那么抽象类就不能够被直接实例化产生的对象,所以抽象类:

      1.抽象类必须有子类(子类可以是抽象类也可以是普通类)

      2.非抽象类继承抽象类必须覆写抽象类中的所有抽象方法,一个子类只能够继承一个抽象类,单继承局限;

      3.抽象类的实例化方式通过子类完成,采用向上转型的方式;  

    由于抽象类中可以存在一些属性,所以允许存在构造方法,在对子类实例化的时候,依然会先调用父类构造,后调用子类构造

    外部的抽象类不可以使用static定义,内部抽象类可以使用static定义,相当于外部类;

    在一个类的构造执行之前,其内部的属性的值都是其对应类型的默认值

    abstract class A{
        public A(){ // 第二步
            this.print();
        }
        public abstract void print();//第三步:寻找子类print()
    }
    class B extends A{
        private int num;
        public B(int num){
            this.num = num;
        }
        public void print(){ //第三步:此时构造方法还没执行
            System.out.print(num);
        }
    }
    public class Test{
        public static void main(String args[]){
             new B(30);//输出的值是:0   第一步
        }
    }

    简单模板设计模式

  • 相关阅读:
    BZOJ 2743: [HEOI2012]采花( 离线 + BIT )
    BZOJ 1031: [JSOI2007]字符加密Cipher( 后缀数组 )
    BZOJ 1717: [Usaco2006 Dec]Milk Patterns 产奶的模式( 二分答案 + 后缀数组 )
    HDU 2602 Find a way BFS搜索
    HDU 1495 非常可乐 BFS搜索
    UVA 11624 Fire! BFS搜索
    FZU2150 Fire Game BFS搜索
    POJ3414 Pots BFS搜素
    POJ3087 Shuffle'm Up 简单模拟
    POJ 3126 Prime Path BFS搜索
  • 原文地址:https://www.cnblogs.com/hu1056043921/p/7326326.html
Copyright © 2011-2022 走看看