【2019秋冬】《Java核心技术》 第4章 对象与类

类是构造对象的蓝图
封装是将数据和行为组合在一起,对使用者隐藏
对象中的数据域称为实例域
操作数据的过程称为方法

Date 类
对象new Date()(构造器,无参的构造方法,构造一个新对象,并返回他的地址)
对象变量Date b = new Date()
对象变量并没有包含对象,只是对其进行引用

访问器方法:只访问对象而不修改对象的方法

构造器和构造方法是一个东西,总是伴随着new的执行被调用(不能单独使用)
1.构造器与类同名
2.构造器没有返回值
3.构造器可以有多个参数
4.每个类中可以有多个构造器
5.构造器总是伴随着new的执行

隐式参数与显式参数
显示参数就是声明出来,在函数的括号里的
隐式参数又被称为方法调用的目标或接收者,在每个方法中,this表示隐式参数

final实例域
用final修饰实例域,注意在构建对象时必须初始化该域,并且不能被修改

静态 static
静态域:就是静态变量,声明在类里,只能被类修改,不能被自己的对象修改
静态常量:例如PI,因为被声明为static,所以可以用Math.PI直接访问,否则,需要创建Math的对象,再进行访问,而且每个对象还相当于拷贝一份PI,浪费空间
静态方法:可以不用创建对象,例如Math,调用pow函数时可直接使用,该函数为静态方法,因为不包括隐式参数。静态方法不可以调用实例域,可以调用静态域
使用静态方法的两个环境:
1.不需要用到类的实例域,只包含显式参数
2.只需要调用类中的静态域

按值调用:方法接受的是调用者提供的值,不能修改
按引用调用:方法接受的事调用者提供的变量地址,可以修改

Java中对对象不是用按引用调用,而是按值传递
书中两个例子也很有代表性
对一个对象本身,他可以通过函数对自己进行改变
但是两个或多个对象之间无法发生变化,因为原来的引用没有变化

Java编写构造器机制
重载
多个方法有相同的名字,不同的参数类型,个数
编译器在寻找正确的构造函数的过程叫重载解析
默认域初始化
当没有给构造器显性赋值的时候,数值默认为0,布尔值为false,对象引用为null
无参数的构造器
写一个默认构造器,给各个变量赋值
当写了一个有参的构造器,但是没写无参的构造器,会报错
显式域初始化
声明实例域的时候给变量赋值
当构造器的第一个语句为this(......),表示改构造函数要调用同个类中的其他构造器
初始化块
在一个代码块中写赋值和声明
例如声明一个静态域

class employee{
		static{
			XXXX;
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值