再次认识Java中构造器的初始化与继承

摘要: 在Beetle上运行Java时,所发生的第一件事情就是试图访问Beetle.main(),在对其加载的过程中编译器发现它有一个基类,则基类首先被加载,接下来,基类中的static初始化即会被执行,所以output中的第一个语句static Insect.x1 初始化产生;下面Beetle类开始执行与 阅读全文
posted @ 2017-08-31 11:53 dannerl 阅读(209) 评论(0) 推荐(0)

Java中final关键字对基本类型和引用的差别

摘要: 对于基本类型添加了final后变量的值是不能修改的;对于引用类型,添加final后不能指向新的引用,但是引用的对象的可访问的数据和方法是可以修改的。 如果使用p.f()就会报错The method f() from the type OverridingPrivate is not visible。 阅读全文
posted @ 2017-08-30 19:41 dannerl 阅读(463) 评论(0) 推荐(0)

初步认识Java中的向上转型

摘要: 子类对象当成父类对象,只能调用父类的成员,如果子类重写了父类的方法就根据这个引用指向调用子类重写的这个方法(这个方法就是覆盖override)。这个调用过程就称为“动态绑定”。这就是输出 bird eatting...而不是animal eatting...的原因。 阅读全文
posted @ 2017-08-30 18:37 dannerl 阅读(155) 评论(0) 推荐(0)

Java复用类中正确清理

摘要: 以上注释是程序输出结果与程序执行过程的对照,需要注意的是:子类的建立与销毁是伴随着父类的建立与销毁而进行的。 阅读全文
posted @ 2017-08-30 16:56 dannerl 阅读(261) 评论(0) 推荐(0)

Java中构造器的初始化

摘要: 初始化的顺序为先静态对象,后非静态对象:在进入函数的入口地址(main)之前,首先初始化静态对象cups1和cups2两个静态对象,当初始化cups1时,进入Cups的构造器,里面又有两个静态对象cup1和cup2->Cup的构造器->输出Cup(1)、Cup(2)和Cups();当初始化cups2 阅读全文
posted @ 2017-08-28 19:13 dannerl 阅读(440) 评论(0) 推荐(0)

Java中this的用法及在构造器中调用构造器

摘要: 注意:this本身表示对当前对象的引用。 刚开始看这段代码时,没怎么看明白,本以为会直接输出最后两行,没搞懂Constructor w/ int arg only, petalCount= 47;String & int args这两行为什么会输出。后来才明白其原因, 其执行顺序为: E08_Sta 阅读全文
posted @ 2017-08-27 21:46 dannerl 阅读(583) 评论(0) 推荐(0)

Eclipse快捷键把一段代码向左右移动和注释一块代码

摘要: 在使用Eclipse时有时需要调整代码的层次与结构,如果手动进行调整则是一件非常繁琐的事情。若整个Java文件都需要调整可以Ctrl+a选中编辑文档,然后使用Ctrl+shift+f对整个文档进行自动调整;若只需要调整部分代码,可以选中要调整的代码按tab键右移代码,shift+tab左移代码。 若 阅读全文
posted @ 2017-08-25 16:31 dannerl 阅读(2285) 评论(0) 推荐(0)

Java中的关系操作符

摘要: 在比较基本类型时,如int,double(n3,n4)等用==,!=比较两者之间的大小;但对 new出来的对象(n1,n2)来说,必须使用equals()方法来比较两个对象之间的大小关系。 对于用户自己创建的类(n5,n6),比较大小关系时必须重载equals()方法,这是由于equals()方法的 阅读全文
posted @ 2017-08-25 11:35 dannerl 阅读(286) 评论(0) 推荐(0)

已有java文件添加到工程中的两种方法

摘要: 在学习《java编程思想》是遇到一个问题,作者创建了一个java文件,其作用是用print()代替 System.out.println()以显示要打印的内容。文章中用了import static net.mindview.util.Print.*; 后直接使用了print()显示内容。因为刚学ja 阅读全文
posted @ 2017-08-24 11:05 dannerl 阅读(762) 评论(0) 推荐(0)