对象与类

博客介绍了Java的相关知识,包括使用预定义类,如Date类和LocalDate类;强调封装时不要返回引用可变对象的访问器方法;说明了使用静态方法的两种情况;阐述了方法参数传递规则;指出嵌套包相互独立;还提及Java继承使用extends关键字,且都是公有继承,与C++不同。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用预定义类
  • 标准Java类库分为两个类:一个用来表示时间点的Date类;另一个用来表示大家熟悉的日历表示法的LocalDate类。将时间与日历分开是一种很好的面向对象设计。
封装

:注意不要返回引用可变对象的访问器方法。在Employee类中就违反了这个设计原则,其中的getHireDay方法返回了一个Date类对象:

class Employee{
    private Date hireDay;
    ...
    public Date getHireDay(){
        return hireDay;
    }
    ...
}
复制代码

LocalDate类没有更改器方法,与之不同,Date类有一个更改器方法setTime,可以在这里设置毫秒数。 如果需要返回一个可变对象的引用,应该首先对它进行克隆(clone)。对象clone是指存放在另一个位置上的对象副本。

下面两种情况下使用静态方法:
  • 一个方法不需要访问对象状态,其所需参数都是通过显式参数提供(例如:Math.pow)
  • 一个方法只需要访问类的静态域(例如:Employee.getNextId)
方法参数

Java程序设计语言对对象采用的不是引用调用,实际上,对象引用是按值传递的

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

从编译器的角度来看,嵌套的包之间没有任何关系。例如,java.util包与java.util.jar包没有任何关系。每一个都拥有独立的类集合。

继承

Java中使用关键字extends代替C++中的冒号(:)。在Java中,所有的继承都是公有继承,而没有C++中的私有继承和保护继承。

转载于:https://juejin.im/post/5b88a189f265da437047f79e

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值