• JAVA修饰符、关键字和继承(一)


    一、静态修饰符----static

      static可以修饰内部类、块、属性、方法,经static修饰过的元素储存地址唯一,不会改变

     1 public class Test{
     2     static int a=1;                        //修饰属性
     3     static{                                   //修饰块
     4              //语句
     5     }
     6      static void fun(){                   //修饰方法
     7      //方法体
     8     }
     9     public static class Intest{         //修饰内部类
    10     //属性+方法等
    11     }
    12 }

    二、final修饰符

      final修饰符可以修饰属性、方法和类,经final修饰过的元素将不能被改变、继承或覆盖

    static int a=1;              //修饰属性  
    
    static{                         //修饰块  
          //语句  
     } 
     
     static void fun(){         //修饰方法  
         //方法体  
      } 
    
     public static class Intest{ //修饰内部类 
          //属性+方法等 
     } 
     

    三、this关键字

      this关键字通常用来代表本身(同一类内),用来引用成员变量、构造方法或成员方法

      

     1 public class Test{
     2     int a=0;
     3     Test(){
     4     this.a=2;             //引用成员变量
     5     }
     6     this.Test();          //引用构造方法
     7     void fun(){
     8     //方法体
     9     }
    10     this.fun();            //引用成员方法

    注意:不能用于静态方法中

    四、super关键字

      super关键字通常用来代表父类的引用,用以区分子类和父类元素

      

     1 public class Test{                            //父类
     2     int a=0;
     3     Test(){
     4     //构造方法体
     5     }
     6     void fun(int b){
     7     //方法体
     8     }
     9 }
    10 class Intest extends Test{                 //子类
    11     a=2;
    12     Intest(){
    13     supper();                                     //引用父类构造方法
    14     super.fun(n);                               //引用父类方法
    15     System.out.println(super.a)          //引用父类属性
    16     }
    17 }

    五、继承

      如果说一个类A继承了另一个类B,那么就说A继承了B,且A具有B所有的元素 

    public class Test{
        int a=0;
        Test(){
        //构造方法体
        }
        void fun(){
        //方法体
        }
    }
    
    //如不经定义修改,子类与父类的元素相同
    
    class InTest extends Test{
       /* int a=0;
        Test(){
        //构造方法体
        }
        void fun(){
        //方法体
        }*/
    }

     注意:父类中final修饰的属性不能被修改、final修饰的方法必能被重写

       final修饰的类不能被继承

      

  • 相关阅读:
    KVO的用法、底层实现原理
    Runtime应用(三)实现NSCoding的自动归档和自动解档
    Runtime应用(二)使用对象关联为分类增加属性(每个对象的属性互不干扰)
    Runtime 应用(一)拦截系统自带的方法交换实现
    iOS实现传递不定长的多个参数
    Runtime 中的 _cmd、 IMP
    UIWebView、WKWebView使用详解及性能分析
    iOS
    基本图形生成算法
    关于动画中帧的解释
  • 原文地址:https://www.cnblogs.com/-maji/p/7055914.html
Copyright © 2020-2023  润新知