一、Java初始化顺序

每次做题都错,会忘记,做个笔记

完整执行顺序:

父类静态代码块 ->子类静态代码块 ->父类非静态代码块 -> 父类构造函数 -> 子类非静态代码块 -> 子类构造函数。

口诀:

1、静态优先,构造随后 ,无论静态还是构造,先父再子
或者:
2、父子静,父非构,子非构。

public class Father {static {System.out.println("父类静态代码块");}{System.out.println("父类非静态代码块");}public Father() {System.out.println("父类构造函数");}
}public class Son extends Father {static {System.out.println("子类静态代码块");}{System.out.println("子类非静态代码块");}public Son() {System.out.println("子类构造函数");}public static void main(String[] args) {Son son = new Son();}
}结果为:父类静态代码块子类静态代码块父类非静态代码块父类构造函数子类非静态代码块子类构造函数

二、for循环执行顺序:

for(条件1;条件2;条件3) {
//语句
}
执行顺序是条件1->条件2->语句->条件3->条件2->语句->条件3->条件2->语句->…
如果条件2为true,则一直执行。如果条件2位false,则for循环结束

练习题目:
下面代码运行结果是?

public class Test{static boolean foo(char c){System.out.print(c);return true;}public static void main( String[] argv ){int i = 0;for ( foo('A'); foo('B') && (i < 2); foo('C')){i++ ;foo('D');}}
}

你可以结合上面的结论自己猜一猜答案,先不要往下翻,然后自己运行一下。
|
|
|
|
|
|
|
|
|
|
|
|
答案:ABDCBDCB

三、关于内部类

在Java中,可以将一个类定义在另一个类里面或者一个方法里边,这样的类称为内部类,广泛意义上的内部类一般包括四种:成员内部类,局部内部类,匿名内部类,静态内部类 。

1.成员内部类

(1)该类像是外部类的一个成员,可以无条件的访问外部类的所有成员属性和成员方法(包括private成员和静态成员);

(2)成员内部类拥有与外部类同名的成员变量时,会发生隐藏现象,即默认情况下访问的是成员内部类中的成员。如果要访问外部类中的成员,需要以下形式访问:【外部类.this.成员变量 或 外部类.this.成员方法】;

(3)在外部类中如果要访问成员内部类的成员,必须先创建一个成员内部类的对象,再通过指向这个对象的引用来访问;

(4)成员内部类是依附外部类而存在的,也就是说,如果要创建成员内部类的对象,前提是必须存在一个外部类的对象;

(5)内部类可以拥有private访问权限、protected访问权限、public访问权限及包访问权限。如果成员内部类用private修饰,则只能在外部类的内部访问;如果用public修饰,则任何地方都能访问;如果用protected修饰,则只能在同一个包下或者继承外部类的情况下访问;如果是默认访问权限,则只能在同一个包下访问。外部类只能被public和包访问两种权限修饰。

2.局部内部类

(1)局部内部类是定义在一个方法或者一个作用域里面的类,它和成员内部类的区别在于局部内部类的访问仅限于方法内或者该作用域内;

(2)局部内部类就像是方法里面的一个局部变量一样,是不能有public、protected、private以及static修饰符的。

3.匿名内部类

(1)一般使用匿名内部类的方法来编写事件监听代码;

(2)匿名内部类是不能有访问修饰符和static修饰符的;

(3)匿名内部类是唯一一种没有构造器的类;

(4)匿名内部类用于继承其他类或是实现接口,并不需要增加额外的方法,只是对继承方法的实现或是重写。

4.内部静态类

(1)静态内部类是不需要依赖于外部类的,这点和类的静态成员属性有点类似;

(2)不能使用外部类的非static成员变量或者方法。

Java的一些基础知识笔记相关推荐

  1. Java基础知识笔记-11_2-Swing用户界面组件

    Java基础知识笔记-11_2-Swing用户界面组件 这章教程两个版本,一个语法是非lambda表达式版本,另一个是lambda表达式版本 非lambda表达式版本 1 Java Swing概述 J ...

  2. java的一些基础知识(引用BlogJava 落花飞雪)

     java的一些基础知识(引用BlogJava 落花飞雪) <Practical Java>笔记 1. 声明是什么? String s = "Hello world!" ...

  3. python详细基础知识笔记

    详细基础知识笔记 注: ·第一章 学习准备 1.1高级语言.机器语言.汇编语言 1.2 汇编.解释 1.3 静态语言.脚本语言 1.4 Python的历史 1.5 Python语言的优点.缺点 1.6 ...

  4. java 网络爬虫 正则表达式_【干货】Java网络爬虫基础知识

    原标题:[干货]Java网络爬虫基础知识 引言 Java 网络爬虫具有很好的扩展性可伸缩性,其是目前搜索引擎开发的重要组成部分.例如,著名的网络爬虫工具 Nutch 便是采用 Java 开发,该工具以 ...

  5. access2013数据库实验笔记_医学科研实验基础知识笔记(十):甲基化

    往期回顾 医学科研实验基础知识笔记(一):细胞增殖 医学科研实验基础知识笔记(二):细胞凋亡检测 医学科研实验基础知识笔记(三):细胞周期检测 医学科研实验基础知识笔记(四):细胞自噬研究策略 医学科 ...

  6. 第76节:Java中的基础知识

    第76节:Java中的基础知识 设置环境,安装操作系统,安装备份,就是镜像,jdk配置环境,eclipse下载解压即可使用,下载tomcat 折佣动态代理解决网站的字符集编码问题 使用request. ...

  7. Java核心技术卷一基础知识第10版demo实例

    Java核心技术卷一基础知识第10版demo实例 第三章 JAVA的基本程序设计结构 3.7输入与输出 3.7.1读取输入 3.8控制流程 3.8.3循环 3.10数组 3.10.6多维数组 第四章 ...

  8. 6-DoF问题相关基础知识笔记

    6-DoF问题相关基础知识笔记 一.什么是6-DoF,即6个自由度是什么? 二.PnP算法 三.BOP挑战与官方数据集简介 BOP数据集 BOP toolkit BOP挑战的介绍页面 四.相关论文 C ...

  9. 二代测序之SNV基础知识笔记总结

    二代测序之SNV基础知识笔记总结 文章目录 二代测序之SNV基础知识笔记总结 SNV基础知识 SNVs Mutation vs. Variant[变异和突变] 不同层次的突变 DNA: 1.编码DNA ...

最新文章

  1. 关于湖北工业大学图书馆联网配置的方法
  2. 【Android 逆向】修改运行中的 Android 进程的内存数据 ( 运行环境搭建 Android 模拟器安装 | 拷贝 Android 平台可执行文件和动态库到 /data/system )
  3. spring IoC/DI
  4. java导入包srcy有红叉_eclipse导入项目后出现红色叉号的解决方案
  5. arcgis导入坐标点转面_ArcGIS问题:如何将坐标点或者点文件转换成线、面文件
  6. Bootstrap表单
  7. 语义分割之OCR的评判标准
  8. Jquery实现子菜单散开动画
  9. win10计算机丢失msvcr,Win10系统打开软件提示丢失msvcr110.dll如何解决
  10. java eclipse参考文献_2019-2020年java毕设论文参考文献.doc
  11. 神州数码交换机建立VSF与删除VSF
  12. 7723Java斗破苍穹_诛天-斗破苍穹(新)
  13. js 格式化UTC日期
  14. 学习java的第十九天,static关键字、隐匿代码块的学习
  15. labview信号频域分析算法
  16. 计算机一级wps选择题必背知识点,计算机一级WPS提高练习题及答案
  17. python从小白到大牛百度云盘_Python从小白到大牛
  18. 爬虫之机器图像识别(ORC库)
  19. VSFTPD配置方法手册
  20. Qt+OpenGL实现三维地形显示

热门文章

  1. 初一计算机社团教案,计算机社团教案
  2. 数美科技 | 黄牛也武装到牙齿,航司怎么样打赢这场无形战争?
  3. 读书笔记--关于PPT的制作
  4. MT 103+ Single Customer Credit Transfer单笔客户转账
  5. excel 除掉最后一个字
  6. 09科学艺术微观摄影大赛:婴儿乌贼夺冠(图)
  7. 机械正时正确,发动机持续亮故障灯?
  8. 服务器换cpu要重装系统吗,更换cpu需要重装系统吗_换cpu是否需要重装系统
  9. Thinkphp5中使用redis队列发送消息
  10. 政务大数据平台数据安全体系建设指南