`
jinghuainfo
  • 浏览: 1523967 次
  • 性别: Icon_minigender_2
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

JAVA基础--final、static区别以及类加载顺序

 
阅读更多
一、JAVA中final 与 static 总结
 
  final static
修饰类 该类不可被继承 只能修饰内部类,该类不需要new,是静态加载(嵌套顶层类)
修饰接口 × ×
修饰构造函数 × ×
修饰语句块 × 虚拟机按声明顺序初始化static成员字段和static语句块
修饰字段属性 表示属性初始化后不能修改(实例常量) 是类变量,所有实例共享该变量值(类变量)
在定义时或构造函数中赋值(每个实例拥有一份拷贝)
修饰方法 该方法不能被覆盖(只可继承) 是类方法,所有实例共享该方法(类方法)
修饰函数参数 参数值不能被函数修改 ×
修饰函数局部变量 局部变量初始化后不能修改(局部常量) ×
     
用途 1).为了防止方法被覆盖或改写; 1).定义全局变量或常量;
2).提高运行效率,JAVA对final方法调用采用内嵌机制; 2).定义类方法;
     
二、JAVA类加载顺序
JAVA类加载顺序: 1).按代码顺序递归加载静态成员/代码块,先父类再本类;
  2).按代码顺序递归加载非静态成员/代码块,先父类再本类;
  3).按代码顺序递归调用构造函数,先父类再本类;
   
JAVA类加时机: 1).调用静态成员时,加载静态成员所在的类及父类;
  2).第一次new对象时加载(第二次new不再加载)
  3).加载子类会先加载父类.有static和final修饰的成员不会被加载;当成常量使用;
分享到:
评论

相关推荐

    Java 基础核心总结 +经典算法大全.rar

    向上转型static final 接口和抽象类接口 抽象类异常 认 识 Exception 什么是 Throwable 常见的 Exception 与 Exception 有关的 Java 关键字 throws 和 throw try 、finally 、catch 什么是 Error 内部类 创建内部类...

    Java 基础面试题

    19. static加载顺序 20. 代理和反射(3分钟),反射泛型还有用吗 21. final关键字 22. 线程wait和sleep相同点和不同点 23. 为什么start调用run方法,调用run不会调用start方法 24. 手写单例模式中的懒汉式和...

    JAVA基础课程讲义

    静态初始化块(经常用来初始化类,加载类信息时执行!) 67 package 68 JDK中的主要包 68 import 68 eclipse的使用 69 继承(extend, inheritance) 70 为什么需要继承?继承的作用? 70 继承介绍 70 如何实现继承? ...

    Java面试宝典-经典

    Java基础部分 7 1、一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制? 7 2、Java有没有goto? 7 3、说说&和&&的区别。 8 4、在JAVA中如何跳出当前的多重嵌套循环? 8 5、switch语句能否作用在byte...

    leetcode题库-java-interview:Java研发基础相关

    类初始化顺序 hashCode & equals == & equals this static 基本类型 & 包装类 String 泛型 内部类 集合类 ArrayList & LinkedList 详解 HashMap HashTable ConcurrentHashMap 详解 异常相关 代理机制 JDBC BIO NIO ...

    java基础题 很全面

    Java基础 6 1. 面向对象的特征有哪些方面 6 2. String是最基本的数据类型吗? 7 3. int 和 Integer 有什么区别 7 4. String 和StringBuffer的区别 7 5. 运行时异常与一般异常有何异同? 7 6. 说出ArrayList,Vector, ...

    java面试800题

    如果事先知道某种东西会成为基础类, 那么第一个选择就是把它变成一个接口。 只有在必须使用方法定义或者成员变量的时候,才应考虑采用抽象类。" Q0040 Java关键字 "51个:abstract, boolean, break, byte, case, ...

    java 面试题 总结

    JAVA相关基础知识 1、面向对象的特征有哪些方面 1.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用...

    java面试题大全(2012版)

    Java基础部分 7 1、一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制? 7 2、Java有没有goto? 7 3、说说&和&&的区别。 8 4、在JAVA中如何跳出当前的多重嵌套循环? 8 5、switch语句能否作用在byte...

    Java面试宝典2010版

    Java基础部分 7 1、一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制? 7 2、Java有没有goto? 7 3、说说&和&&的区别。 8 4、在JAVA中如何跳出当前的多重嵌套循环? 8 5、switch语句能否作用在byte...

    最新Java面试宝典pdf版

    Java基础部分 7 1、一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制? 7 2、Java有没有goto? 7 3、说说&和&&的区别。 8 4、在JAVA中如何跳出当前的多重嵌套循环? 8 5、switch语句能否作用在byte...

    Java面试笔试资料大全

    Java基础部分 7 1、一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制? 7 2、Java有没有goto? 7 3、说说&和&&的区别。 8 4、在JAVA中如何跳出当前的多重嵌套循环? 8 5、switch语句能否作用在byte...

    java面试宝典2012

    1. Java基础部分 7 1、一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制? 8 2、Java有没有goto? 8 3、说说&和&&的区别。 8 4、在JAVA中如何跳出当前的多重嵌套循环? 8 5、switch语句能否作用在...

    JAVA面试宝典2010

    Java基础部分 7 1、一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制? 7 2、Java有没有goto? 8 3、说说&和&&的区别。 8 4、在JAVA中如何跳出当前的多重嵌套循环? 8 5、switch语句能否作用在byte...

    Java面试宝典2012新版

    Java基础部分 7 1、一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制? 7 2、Java有没有goto? 7 3、说说&和&&的区别。 8 4、在JAVA中如何跳出当前的多重嵌套循环? 8 5、switch语句能否作用在byte...

    Java面试宝典2012版

    Java基础部分 7 1、一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制? 7 2、Java有没有goto? 7 3、说说&和&&的区别。 8 4、在JAVA中如何跳出当前的多重嵌套循环? 8 5、switch语句能否作用...

    java面试题

    以下程序使用内部类实现线程,对j增减的时候没有考虑顺序问题。 107 84.4. 现在输入n个数字,以逗号”,”分开;然后可选择升或者降序排序;按提交键就在另一页面显示按什么排序,结果为,提供reset 108 84.5. 金额...

Global site tag (gtag.js) - Google Analytics