动手动脑①

 1 package test_1;
2
3 public class Test {
4
5 public static void main(String[] args) {
6 // TODO 自动生成的方法存根
7 Foo obj1=new Foo();
8 Foo obj2=new Foo();
9 System.out.println(obj1==obj2);
10 }
11 }
12 class Foo{
13 int value=100;
14 }

动手动脑②:类字段的初始化顺序:

 1 package test_1;
2
3 public class Test {
4
5 public static void main(String[] args) {
6 // TODO 自动生成的方法存根
7 InitializeBlockClass obj=new InitializeBlockClass();
8 System.out.println(obj.getField());
9
10 obj=new InitializeBlockClass(300);
11 System.out.println(obj.getField());
12 }
13 }
14 class InitializeBlockClass{
15
16 {
17 setField(200); //代码块定义值是200
18 }
19 private int field=100; //定义初始值是 100
20 InitializeBlockClass(int value) { //传入参数是300
21 this.setField(value);
22 }
23 InitializeBlockClass() {
24 }
25 public int getField() {
26 return field;
27 }
28 public void setField(int field) {
29 this.field = field;
30 }
31 }

 1 package test_1;
2
3 public class Test {
4
5 public static void main(String[] args) {
6 // TODO 自动生成的方法存根
7 InitializeBlockClass obj=new InitializeBlockClass();
8 System.out.println(obj.getField());
9
10 obj=new InitializeBlockClass(300);
11 System.out.println(obj.getField());
12 }
13 }
14 class InitializeBlockClass{

15 private int field=100; //定义初始值是 100
16 {
17 setField(200); //代码块定义值是200
18 }
19
20 InitializeBlockClass(int value) { //传入参数是300
21 this.setField(value);
22 }
23 InitializeBlockClass() {
24 }
25 public int getField() {
26 return field;
27 }
28 public void setField(int field) {
29 this.field = field;
30 }
31 }

 1 package test_1;
2
3 class Root
4 {
5 static
6 {
7 System.out.println("Root的静态初始化块");
8 }
9
10 {
11 System.out.println("Root的普通初始化块");
12 }
13
14 public Root()
15 {
16 System.out.println("Root的无参数的构造器");
17 }
18 }
19 class Mid extends Root
20 {
21 static
22 {
23 System.out.println("Mid的静态初始化块");
24 }
25 {
26 System.out.println("Mid的普通初始化块");
27 }
28 public Mid()
29 {
30 System.out.println("Mid的无参数的构造器");
31 }
32 public Mid(String msg)
33 {
34 //通过this调用同一类中重载的构造器
35 this();
36 System.out.println("Mid的带参数构造器,其参数值:" + msg);
37 }
38 }
39 class Leaf extends Mid
40 {
41 static
42 {
43 System.out.println("Leaf的静态初始化块");
44 }
45 {
46 System.out.println("Leaf的普通初始化块");
47 }
48 public Leaf()
49 {
50 //通过super调用父类中有一个字符串参数的构造器
51 super("Java初始化顺序演示");
52 System.out.println("执行Leaf的构造器");
53 }
54
55 }
56
57 public class TestStaticInitializeBlock
58 {
59 public static void main(String[] args)
60 {
61 new Leaf();
62
63
64 }
65 }

规律总结:

一个父类后继承两个子类,调用顺序为:总顺序先static代码块后普通代码块 最后构造代码块,先父类后子类,先无参构造,后带参构造!

*****************************************************

动手动脑④:

 1 package test_1;
2
3 public class StaticStudy {
4 static int staticnum=1;
5 private int num;
6 public static void display() {
7 StaticStudy test=new StaticStudy();
8 System.out.println("在静态方法中输出静态变量:"+test.staticnum);
9 System.out.println("在静态方法中输出非静态变量:"+test.num);
10 }
11 public int getNum() {
12 return num;
13 }
14 public void setNum(int num) {
15 this.num = num;
16 }
17 public StaticStudy(int num) {
18 this.num = num;
19 }
20 public StaticStudy() {
21
22 }
23 public static void main(String[] args) {
24 // TODO 自动生成的方法存根
25 StaticStudy test0=new StaticStudy(100);
26 test0.display();
27 }
28
29 }


//只需要在静态变量里实例化一个本类的对象,通过这个对象取用本对象的数据成员!

动手动脑⑤:

Java中的包装类

 1 package test_1;
2
3 public class StrangeIntegerBehavior
4 {
5 public static void main(String[] args)
6 {
7 Integer i1=100;
8
9 Integer j1=100;
10
11 System.out.println(i1==j1);
12
13 Integer i2=129;
14
15 Integer j2=129;
16
17 System.out.println(i2==j2);
18
19 }
20 }

 

-128 --- 127 范围内是相等的,超出范围一定会重新生成对象!所以地址值就会不同!

JavaDailyReports10_07的更多相关文章

随机推荐

  1. docker镜像无法删除 Error:No such image:xxxxxx

    前言 docker镜像无法删除,通过 docker images 查看镜像明明存在就是删除不了. 删除提示:Error:No such image:xxxxxxx 具体截图内容如下: 解决方法 进入目 ...

  2. 第9.4节 Python中用readline读取二进制文件方式打开文件

    在<第9.3节 Python的文件内容读取:readline>中介绍了使用readline读取文件的处理,readline除了使用文本文件方式打开文件读外,也可以读取二进制方式打开的文件, ...

  3. 第十五章 使用PyQt进行Python图形界面程序开发

    在基础知识部分的最后一章<第十三章 Python基础篇结束章>的<第13.3节 图形界面开发tkinter>简单介绍了Python内置图形界面标准库tkinter,当时特别强调 ...

  4. 团队作业part1--团队展示&选题

    一.团队展示 1.队名 DiligentVegetableChicken 2.队员信息 纪昂学(组长):3118005053 廖业成:3118005060 蔡越:3118005086 周梓波:3118 ...

  5. 百度前端技术学院-基础-day5.6

    今天学习了关于盒模型.浮动等页面布局的方法. 受到同学的启发,顺便学习了flex的布局. 还了解了一些编码的基本规则. 对我接下来的学习帮助很大. 交作业: HTML : https://github ...

  6. ios移动端 clipboard点击复制失效

    在使用clipboard.min.js插件库实现复制,android下没有问题,ios下无效! 原因:ios默认非点击标签没有点击效果 解决方法:需要给非点击标签加事件,比如在span,div或者p标 ...

  7. CF484B Maximum Value

    这个东西他一开始也是草稿 题解 我们考虑在值域上做,设值域为 \(m\) . 我们可以考虑数论分块,对于一对 \(a_i\) 和 \(a_j\) ,$\left \lfloor \frac{a_i}{ ...

  8. MarkDown的练习_Java开发学习路径

    MarkDown的练习 语言学习 C/C++语言 Java语言 基础四大件 数据结构与算法 操作系统 计算机网络 设计模式 数据库/SQL 私人令牌:42bb654f53941d5692e98b35f ...

  9. Jmeter(2)基础知识

    一.Jmeter测试计划 1.测试计划用来描述一个性能/接口测试的脚本和场景设计 独立运行每个线程组:用于控制测试计划中的多个线程组的执行顺序.不勾选时,默认各线程组并行.随机执行. 主线程结束后运行 ...

  10. mysql 8.0 主从复制配置

    背景: 主库: 192.168.211.128 从库: 192.168.211.129 一.关闭防火墙 [root@node01 ~]# systemctl disable firewalld [ro ...