• java中常见的关键字总结


    java中常见的关键字总结

    一、权限修饰符

      private:

        定义:私有的,只允许本类访问

        用途:

          1.用于修饰成员变量、成员方法

        优点

          1.将属性和实现的细节用private修饰符修饰,可以提高程序的安全性!


      static:

        定义:静态的,可用于修饰成员变量(类变量)、成员方法和代码块

        特点:

          1.随着类的加载而加载

          2.优先于对象存在,优先于构造方法被加载

          3.被类中所有的对象所共享

          4.可以通过类名进行调用

        注意:

          1.static不能修饰局部变量,即时是在静态方法中

          2.static关键字主要针对的是类,而不是对象!可以通过类名和对象来调用!

          3.在静态方法中,没有this关键字,因为static独立于对象而存在

          4.被static修饰的成员方法只能访问静态的资源,而没有被static修饰的成员方法可以访问静态成员(成员变量和成员方法)

        扩展:

          静态变量和成员变量区别:
            1.所属不同:

              * 静态变量属于类,也被称为类变量

              * 成员变量属于对象,也被称为实例变量(对象变量)

            2.内存中位置不同:
              * 静态变量存储于方法区的静态区

              * 成员变量存储于堆内存

            3.内存中出现时间不同:
              * 静态变量随着类的加载而加载,随着类的加载完毕而消失

              * 成员变量随着对象的调用而加载,随着对象的调用完毕而消失

            4.调用方式不同:

              * 静态变量可以通过类名、对象名调用

              * 成员变量只能通过对象来调用


      this: 

        定义:this代表本类对象的引用

        用法:

          1.访问成员变量

             this.成员变量:调用本类的成员变量 

          2.访问构造方法

             this():调用本类的无参构造方法 

          3.访问成员方法

             this.成员方法:调用本类的成员方法 

        优点:

          1.在方法内部出现重名的情况,可以采用this修饰符进行修饰,有效避免成员变量和局部变量冲突!


      super:

        定义:对当前对象里面的父对象的引用,跟this关键字类似

        用法:

          1.访问成员变量(非私有)

             super.成员变量:调用父类的成员变量

          2.访问构造方法

             super():调用父类的无参构造方法

          3.访问成员方法

             super.成员方法:调用父类的成员方法

      面试题:

         1.看程序写结果 

    //Fu.java
    package
    com.extend; public class Fu { public int num=10; public Fu() { System.out.println("fu的无参构造"); } }
    //Zi.java
    package
    com.extend; public class Zi extends Fu { public int num=20; public Zi() { System.out.println("zi的无参构造"); } public void show(){ int num=30; System.out.println(num); System.out.println(this.num); System.out.println(super.num); } } class Test{ public static void main(String[] args) { Zi zi = new Zi(); zi.show(); } }

         上述代码输出结果为:

          Fu的无参构造

          Zi的无参构造

          30

          20

          10

      分析:

        (1)由于Zi类继承了Fu类,所以在执行main方法时,调用Zi类的构造方法前,首先调用Fu类的构造方法,完成对Fu类对象的初始化,输出:Fu的无参构造

          (2)再进行Zi类对象的初始化,输出:Zi的无参构造

            (3) 创建了Zi类对象zi后,通过对象调用zi类的成员方法show(),先在zi类中找show(),然后再Fu类中找show(),如果找不到就报错

            (4)    show()中使用输出语句分别输出num、this.num、super.num,首先num在局部范围找,输出30。this代表本类对象的引用,this.num相当于new Zi().num,

             就在本类的成员变量中查找,输出20。super代表父类对象的引用,在Fu类的成员中查找,输出10


      final:

        定义:表示最终的意思,可以修饰成员变量、成员方法以及类

        特点:

          1.修饰成员变量,变量就变成了常量,不能被重新赋值

          2.修饰成员方法,该方法不能被重写!

          3.修饰类,该类不能被继承


      abstract:

        定义:abstract修饰符可以用于类、方法、事件和索引指示器(indexer),表示其为抽象成员,抽象方法是没有方法体的方法。

        特点:

          1.抽象类和抽象方法必须使用abstract来修饰

          2.抽象类中不一定有抽象方法,但有抽象方法的类一定是抽象类

          3.抽象类不能被实例化

          4.abstract不能与private(私有的,禁止子类访问,更别提重写方法了)、final(表示最终的意思,不能重写方法)、static共存

          

      

  • 相关阅读:
    Assetbundle创建与加载
    11个超棒的iOS开发学习网站
    UGUI
    Unity3D教程宝典之Shader篇
    解决ngui挡住粒子的问题
    unity 随笔
    进程与线程浅析
    c#语言
    Unity3D中使用委托和事件
    Unity3D中常用的数据结构总结与分析
  • 原文地址:https://www.cnblogs.com/xiaoguoniu/p/12607041.html
Copyright © 2020-2023  润新知