码迷,mamicode.com
首页 > 其他好文 > 详细

static、final、包、访问修饰符、内部类

时间:2018-11-14 17:20:38      阅读:235      评论:0      收藏:0      [点我收藏+]

标签:加载顺序   执行   匿名内部类   多个   方式   default   单词   类对象   内部类   

代码块的加载顺序

  静态代码块>成员代码块>构造方法(1,加载类2,创建对象3,调用方法)
static静态修饰符

  可以修饰成员变量 成员方法
static特点

  被static修饰的成员 属于类 不单属于某个对象 是所有对象所共享
静态的访问特点

  类名直接访问
    类名.属性名
    类名.方法名(参数)
static的注意事项
    静态的内容随着类的加载而加载 优先于对象存在
    静态的内容只能访问静态的内容 不能使用this/super
final最终修饰符
    类 :被final修饰的类不能被继承
    成员方法: 被final修饰的方法 不能被重写
    变量: 是常量 只能赋值一次  不能被二次赋值
final关键字注意事项
    1.final修饰引用类型变量 地址值不能修改 但是属性值可以修改
    2.final修饰成员变量 不能使用默认值,必须在创建对象前赋值。

        第一种 在定义常量时就显式赋值
        第二种 在构造方法中赋值 每一个构造方法都需要为其赋值(随着类的存在而存在)
    3.常量的命名规则 所有字母都大写 多个单词用_连接
        final String HELLO_WORLD = "";

代码块
    基本定义:{}
几种代码块的执行先后顺序
    局部代码块:限定变量的作用域范围
    成员代码块:创建对象时执行 创建一次对象就会执行一次
    静态代码块:静态内容随着类的加载而加载,类只要加载静态代码块就会执行 仅执行一次

类什么时候会加载?

    创建对象 访问静态成员 创建子类对象 类都会加载

基本格式:
    1.定义一个类 实现接口
    2.重写方法
    3.创建对象

匿名内部类 作用:就是临时创建一个类的子类对象的快捷方式(说白了就是创建临时子类)
    格式:
      new 父类/接口(){
              重写方法
             };
包:

  就是操作系统的文件夹 用来区分文件
    包的声明
     package xxx.xxx.xxx 定义class文件的位置 必须写在有效代码的第一行
    包的访问(默认public修饰)
      1.类全名访问
        同一个包下不需要使用类全名访问
        java.lang包下的类不需要使用类全名访问
      2.导包访问
        如果在一个类中 使用不同包下相同类名的类 只有一个包下的类可以导包 另一个全名访问即可
        eg:
          1.import java.until.Scanner
            Scanner sc=new Scanner(System.in);
          2.
           java.until.Scanner sc=new java.util.Scanner(java.langue.Ststem.in);


    访问权限
        在同一个类中 四种访问权限 都可以访问 (public protected default priavte)
        同一个包下的子类中 只有private不能访问 (public prrotcted default )
        同一个包下的无关类 只有private 不能访问 (public prrotcted default )
        不同包下的子类 public 和 protected 可以访问 (public prrotcted )
        不同包下的无关类 只有public 可以访问 (public )

             public protected 空的(default) private
        同一类中 √   √     √       √
 同一包中(子类与无关类)  √   √      √  
      不同包的子类 √   √    
    不同包中的无关类 √      


修饰符总结
    权限
      public 默认 修饰 类 方法 成员变量
      protected private 方法 成员变量
      final 类 方法 变量
      static 成员方法 成员变量
      abstract 类 方法

      final和abstract能不能一起使用?不能
      static和abstract能不能一起使用? 不能

static、final、包、访问修饰符、内部类

标签:加载顺序   执行   匿名内部类   多个   方式   default   单词   类对象   内部类   

原文地址:https://www.cnblogs.com/JunQiang-Ma/p/9958919.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!