Java编程思想读书笔记_第二章】的更多相关文章

java对于将一个较大作用域的变量“隐藏”的场景会有保护:编译告警.比如: int x = 5; { int x = 6; } 但是对于类中方法的局部变量和类成员变量确是可以重名的,比如 class Test { int x = 4; String s = "hello"; void show() { int x = 5; System.out.println(this.x); System.out.println(x); System.out.println(s); } public…
本章提到的关于==的部分,一个完整的实验如下: class Test { public static void main(String[] args) { Integer i = new Integer(47); Integer j = new Integer(47); Integer i1 = 47; Integer j1 = 47; int i2 = new Integer(47); int j2 = new Integer(47); int i3 = 47; int j3 = 47; Sy…
final关键字类似const: import java.util.*; public class FinalData { static Random rand = new Random(47); final int valueOne = 9; final int i4 = rand.nextInt(20); static final int INT_5 = rand.nextInt(20); public static void main(String[] args) { FinalData…
如何创建一个包: 比如创建一个包名为com.huawei 则在一个目录下如(d:\java)创建目录com/huawei 然后在huawei目录下创建一个文件Assist.java package com.huawei; public class Assist { public void show() { System.out.println("hello from Assist"); } } 注意:包名要为com.huawei 然后d:\java要在环境变量classpath中 cl…
覆盖私有方法 class Father { private void f() { System.out.println("Father::f()"); } public static void main(String[] args) { Father father = new Son(); father.f(); //输出:Father::f() } } class Son extends Father { public void f() { System.out.println(&q…
四种访问权限: public private 包访问权限 protected 如果没有明确指定package,则属于默认包 package access.dessert; public class Cookie { public Cookie() { System.out.println("Cookie()"); } void bite() { System.out.println("bite"); } } class Demo { } //private clas…
7.动态代理 代理是基本的设计模式之一,它是你为了提供额外的或不同的操作,而插入的用来代替“实际”对象的对象.这些操作通常涉及与“实际”对象的通信,因此代理通常充当着中间人的角色. 什么是代理模式? 代理模式的作用是:为其他对象提供一种代理以控制对这个对象的访问. 代理模式有什么好处? 在某些情况下,一个客户不想或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用. 代理模式一般涉及到的角色有: 抽象角色:声明真实对象和代理对象的共同接口,这样一来在任何可以使用目标对象…
1.基本的线程机制 定义任务 public class LiftOff implements Runnable{ protected int countDown = 10; private static int taskCount = 0; private final int id = taskCount++; public LiftOff(){} public LiftOff(int countDown){ this.countDown = countDown; } public String…
接上篇JAVA编程思想读书笔记(二) 第十一章 运行期类型判定 No1: 对于作为程序一部分的每个类,它们都有一个Class对象.换言之,每次写一个新类时,同时也会创建一个Class对象(更恰当的说,是保存在一个完全同名的.class文件中).在运行期,一旦我们想生成那个类的一个对象,用于执行程序的Java虚拟机(JVM)首先就会检查那个类型的Class对象是否已经载入.若尚未载入,JVM就会查找同名的.class文件,并将其载入.所以Java程序启动时并不是完全载入的,这一点与许多传统语言都不…
接上篇JAVA编程思想读书笔记(四)--对象的克隆 No1: daemon Thread(守护线程) 参考http://blog.csdn.net/pony_maggie/article/details/42441895 daemon是相于user线程而言的,可以理解为一种运行在后台的服务线程,比如时钟处理线程.idle线程.垃圾回收线程等都是daemon线程. daemon线程有个特点就是"比较次要",程序中如果所有的user线程都结束了,那这个程序本身就结束了,不管daemon是否…