摘要: 可以将实例域(属性)定义为final.这样构建对象时必须初始化这样的域.也就是说,必须确保在每一个构造器执行之后,这个域的值被设置,并且在后面的操作中,不能够再对它进行修改. 例如:可以将Employee类中的name域声明为final,这样在对象构建之后,这个值不会再被修改,即没有setName方 阅读全文
posted @ 2020-09-20 22:01 刘指导 阅读(198) 评论(0) 推荐(0) 编辑
摘要: 构造函数与类同名 每个类可以有一个以上的构造函数 构造函数可以有0个,一个,或者多个参数 构造函数没有返回值 构造函数总是伴随这new操作一起调用.构造函数的调用实在进行new操作是调用,所有不能对一个已经存在的对象调用构造函数重新设置实例域. 注意:不要在构造函数中定义与实例域重名的局部变量. 阅读全文
posted @ 2020-09-20 21:43 刘指导 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 一定要认识到:一个对象变量并没有实际包含一个对象,而仅仅引用了一个对象. 在java中,任何对象变量的值都是对存储在另外一个地方的对象的引用.new操作符的返回值也是一个引用. Date deadLine = new Date(); 表达式new Date()构造了一个Date类型的对象,并且它的值 阅读全文
posted @ 2020-09-20 21:05 刘指导 阅读(127) 评论(0) 推荐(0) 编辑
摘要: 在java中,允许将一个数组变量拷贝给另一个数组变量.这时,两个变量将引用同一个数组(数组在内存中只有一个,只是这两个数组变量都指向数组的首地址) int[] smallPrimes = {2,3,4,5,6,7}; int[] luckNumber = smallPrimes; System.ou 阅读全文
posted @ 2020-09-20 19:50 刘指导 阅读(321) 评论(0) 推荐(0) 编辑
摘要: 如果基本的整数和浮点数精度不能够满足需求,那么可以使用java.math包中的两个很有用的类:BigInteger和BigDecimal. 这两个类可以处理包含任意长度数字序列的数值.BigInterger类实现了任意精度的整数运算,BigDecimal实现了任意精度的浮点数运算. 使用静态的val 阅读全文
posted @ 2020-09-20 19:10 刘指导 阅读(236) 评论(0) 推荐(0) 编辑
摘要: 使用break语句只能跳出一层循环,但是在实际开发中,有时会碰到跳出到最外层循环或者指定位置,这时单纯使用break语句就不能很好达到预期效果. JAVA提供了一种带标签的break语句,用于跳出多重嵌套的循环语句. public static void main(String[] args) { 阅读全文
posted @ 2020-09-20 17:21 刘指导 阅读(811) 评论(0) 推荐(0) 编辑