zoukankan      html  css  js  c++  java
  • java 抽象类

    1.错误的语法

    // The class SomeAbstract can be either abstract or final, not both
    // Illegal modifier for the class SomeAbstract; only public, abstract & final are permitted
    // The abstract method someAbstractMethod in type SomeAbstract can only set a visibility modifier, one of public or protected
    // This method requires a body instead of a semicolon

    step1:

    javac SomeAbstract.java

    step2:

    open by Java Decompiler.exe

    SomeAbstract.java

    package cn.zno.abstrakt;
    
    abstract class SomeAbstract {
    
        abstract void m1();
    
        protected abstract void m2();
    
        public abstract void m3();
    
        abstract public void m4();
    
    }

    SomeAbstract.class

    package cn.zno.abstrakt;
    
    abstract class SomeAbstract
    {
      abstract void m1();
    
      protected abstract void m2();
    
      public abstract void m3();
    
      public abstract void m4();
    }

    抽象类不提供缺省值,不合法时直接编译不通过。
    关键字顺序问题
    void 一定是紧挨方法名
    访问权限和抽象不冲突,位置可互换,编译时默认调整为权限 抽象。
    抽象类是为了被继承,抽象方法不能降低可见度
    抽象类不能实例化,不能用fianl修饰
    抽象方法没有方法体,必须用abstract修饰

    protected 只能用来修饰field和method

  • 相关阅读:
    微信支付
    设计模式
    微信,根据经纬度获取当前城市
    移动端下拉刷新
    angular-seed — AngularJS种子项目
    Send Email
    angularjs 控制器
    ajax 图片上传
    Jpeg-Baseline和Progressive JPEG的区别
    QT启动一个工程
  • 原文地址:https://www.cnblogs.com/zno2/p/4569184.html
Copyright © 2011-2022 走看看