java核心技术笔记 对象与类

1.      不要编写返回引用可变对象的访问器方法,会破坏封装性,会改变改对象的私有状态

如需要返回一个可变数据域的拷贝,就应该使用clone   书P113

class Employee {
       privateDate hireDay;
       …
       publicDate getHireDay() {
              returnhireDay;     //return hireDay.clone();
       }
}


2.       Date与Calendar

public class Main {
    public static void main(String[] args) {
 
        Calendar c = Calendar.getInstance();
        // 使用pattern
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd H:m:s");
        System.out.println(format.format(c.getTime()));
        // 使用约定格式
        DateFormat dateFormat = DateFormat.getDateTimeInstance(DateFormat.LONG,
                DateFormat.MEDIUM);
        System.out.println(dateFormat.format(c.getTime()));
    }
}

3.       Java程序设计语言对对象采用的不是引用调用,实际上,对象引用进行的是对象引用的拷贝 call-by-value[-of-the-reference]的传递。P123

public static void swap(Employeex, Employee y ) //doesn’t work
{
       Employeetemp = x;
       x= y;
       y= temp;
}

下面总结一下Java程序设计语言中方法参数的使用情况:

  •   一个方法不能修改一个基本数据类型的参数(即数值型和布尔型)。
  •   一个方法可以改变一个对象参数的状态。
  •   一个方法不能让对象参数引用一个新的对象。

4.       调用另一个构造器

如果构造器的第一个语句形如this(…),这个构造器将调用同一个类的另一个构造器。P133

public Employee(double s)
{
       //callsEmployee(String ,double)
       this(“Employee#” + nextId, s);
       nextId++;
}

当调用newEmployee(60000)时,Employee(double) 构造器将调用Employee (String, double)构造器。

采用这种方式使用this关键字非常有用,这样对公共的构造器代码部分只编写一次即可。

 

5.       静态初始化块是对类而言,非静态初始化块是对对象而言。this()和super()都指的是对象,所以,均不可以在static环境中使用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值