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   第一步
        }
    }

    简单模板设计模式

  • 相关阅读:
    vsftpd的详细配置讲解
    ActiveMQ安装与配置
    Apache安装完之后再安装其他模块
    搭建 LAMP apache2.4 + php5.5 + mysql5.5/6 配置文件没有作用的问题
    LAMP apache2.4 + php5.5 + mysql5.5/6
    进制之间的转换
    Mac 常用属性
    关于颜色值透明度的设置
    关于TextView 的属性
    Android 关于软键盘
  • 原文地址:https://www.cnblogs.com/hu1056043921/p/7326326.html
Copyright © 2011-2022 走看看