摘要: 上面输出的结果是:true true false true 因为-128-127是byte的取值范围,如果在这个取值范围内自动装箱就不会创建对象,而是从常量池中获取,如果超过了byte取值范围就会重新创建对象。 阅读全文
posted @ 2019-10-31 17:47 一块 阅读(271) 评论(0) 推荐(0) 编辑
摘要: int i = 100; 方法一:String s1 = i + " "; 方法二:String s2 = String.valueof(i); 方法三(先转换为Integer类型,在调用toString方法):Intrger i2 = new interger(i); String s3 = i2 阅读全文
posted @ 2019-10-31 16:58 一块 阅读(90572) 评论(0) 推荐(0) 编辑
摘要: 因为你的父类已经创建了一个带参的构造函数并且父类中没有无参的构造函数,此时编译器不会为你调用默认的构造函数, 所以子类在继承父类的时候需要在自己的构造函数中显式的调用父类的构造函数,这样才能确保子类在初始化前父类会被实例化。 若果父类中有无参的构造方法,子类中就不做要求,编译器会默认帮你自动调用无参 阅读全文
posted @ 2019-10-31 09:37 一块 阅读(328) 评论(0) 推荐(0) 编辑
摘要: 用惯了VS,再回过去用Eclipse真是一件痛苦的事。so,在这里记录下使用过程中的一些设置以做备忘。 1、代码自动提示 在我们忘记方法名或者想偷懒时,代码自动提示很管用。不过Eclipse默认是输入"."后才会出现包或类成员的提示,也就意味着我们必须先输入一个完整的类名,提示才能出来;或者每次都按 阅读全文
posted @ 2019-10-28 14:17 一块 阅读(616) 评论(0) 推荐(1) 编辑
摘要: 重载构造方法 、默认构造方法、子类调用父类的构造方法、构造方法的作用域、构造方法的访问级别 在多数情况下,初始化一个对象的最终步骤是去调用这个对象的构造方法。构造方法负责对象的初始化工作,为实例变量赋予合适的初始值。构造方法必须满足以下语法规则: (1) 方法名必须与类名相同。 (2)不要声明返回类 阅读全文
posted @ 2019-10-28 09:48 一块 阅读(739) 评论(0) 推荐(0) 编辑
摘要: 应用一:引用成员变量 如上面这段代码中,有一个成员变量name,同时在方法中有一个形式参数,名字也是name,然后在方法中将形式参数name的值传递给成员变量name,虽然我们可以看明白这个代码的含义,但是作为Java编译器它是怎么判断的呢?到底是将形式参数name的值传递给成员变量name,还是反 阅读全文
posted @ 2019-10-28 09:42 一块 阅读(349) 评论(0) 推荐(0) 编辑
摘要: 构造方法的名字和类名保持一致,构造方法没有返回值。 一个类中如果没有构造方法,在编译的时候会自动给出一个默认无参的构造方法,如果类中定义了构造方法,默认的构造方法就不存在了,此时定义了几个就有几个。 语法1:访问修饰符 类名(){}; 语法2:访问修饰符 类名(参数1,参数2,...){ 方法体 } 阅读全文
posted @ 2019-10-28 09:23 一块 阅读(163) 评论(0) 推荐(0) 编辑
摘要: int number = (int)(Math.random()*100)+1; 阅读全文
posted @ 2019-10-25 15:08 一块 阅读(5426) 评论(0) 推荐(0) 编辑
摘要: A:在类中的位置不同。 成员变量:在类中方法外。 局部变量:在方法定义中或方法声明上。 B:在内存中的位置不同。 成员变量:在堆内存中。(成员变量隶属于对象,对象进堆内存) 局部变量:在栈内存中。(局部变量隶属于方法,方法进栈) C:生命周期不同 成员变量:随着对象的存在而存在,消失而消失。 局部变 阅读全文
posted @ 2019-10-25 14:05 一块 阅读(462) 评论(0) 推荐(0) 编辑
摘要: 局部内部类访问局部变量必须用final修饰。 局部内部类访问他所在方法中的局部变量必须用final修饰,为什么? 因为当调用这个方法时,局部变量如果没有用final修饰,他的生命周期和方法的生命周期是一样的,当方法弹栈,这个局部变量也会消失,那么如果局部内部类对象还没有马上消失想用这个局部变量,就没 阅读全文
posted @ 2019-10-25 10:14 一块 阅读(463) 评论(0) 推荐(0) 编辑