个人笔记整理,如有错误,希望能及时指出,感激不尽!
简介:
Java中的一种复合数据类型,包含状态数据和行为方法两种基本成分,类中定义了静态属性和动态属性的行为,是一个抽象的概念,而对象是由具体的属性值和行为组成,是一个具体的实体。
封装:面向对象的一个重要特性:对象将数据和对数据的操作封装在一起,将数据隐藏起来,其他对象需要通过调用对象的操作才能获得对象的属性数据。
类的定义:
由类头和类体组成 。
类头:声明了类名和其他类和接口的关系,在类头中关键字class和类名是必须的,而其他项目都是备选的。
类体:用大括号括起来的部分,定义类的成员,比如域定义和方法定义。
基本语法:
[修饰符] class 类名 [extends 父类名] [implements 接口名1,接口名2,……,接口名n] //类头定义
{ //类体
[修饰符] 数据类型 域名;
……
//定义方法
[修饰符] 返回值类型 方法名 (参数1,参数2,……,参数n)
{
语句;
return 语句;
}
}
注:类名第一个字符一般为大写英文字母(个人建议可以采用驼峰命名法,提醒“Java区分大小写”)
修饰符:abstract(抽象类)、final(最终)、public(公有类) 等……
[ extends 父类名 ]:表明所继承的父类,一个类最多只有一个父类。
[implements 接口名1,接口名2,……,接口名n] :说明类将实现的接口,一个类可以实现多个接口(个人认为接口可以作为Java类只能继承一个父类的补充)
创建类的对象:
对象名 = new 类名(参数1,参数2,……,参数n);
也可以声明对象和初始化对象一起进行(个人比较喜欢这样,代码比较简单):
类名 对象名 = new 类名(参数1,参数2,……,参数n);
new关键字:为对象向系统申请内存,并且同时调用类的构造方法为对象进行初始化。
对象不仅可以改变自己的变量的状态,而且还拥有使用创建它的那个类的方法的能力,对象通过使用那些方法可以产生一定的行为。
构造方法:
Java类中定义的一个特殊的成员方法。
主要作用:在创建类对象的同时,初始化类的实例对象,构造方法具有方法的共性(有名称、参数和方法体)
特殊之处:
构造方法的方法名必须与类名相同。
构造方法没有返回值,因此方法定义不需要返回类型修饰符。
用户不能直接调用构造方法。
构造方法在用户创建对象时,由系统自动调用执行。
构造方法的作用是对对象进行初始化。
构造方法的修饰符不能是abstract、static、fiinal,只能是访问控制修饰符(public、protected、private)之一。
构造方法的参数:
构造方法
可以定义参数,方法定义了多少个参数,在进行对象创建时,就需要提供相同数量和相应类型的实际参数,并且
顺序必须和方法中形参的顺序一致。
类中也可以不定义构造方法,而Java会自动添加一个
缺省的构造方法,并且用
缺省的值来初始化对象的数据和成员,这也是为什么Java类成员不需要初始化的原因。
常用数据类型的默认初始值:
整形 :0
float类型 :0.0f
double类型 :0.0
boolean类型 :false
char类型 :'\u0000'
对象类型 : null
构造方法的重载:
一个类可以定义多个构造方法,为对象进行不同程度的初始化,但构造方法的数量和类型不同,用户创建对象的同时,系统根据用户提供的实参
自动调用与形参匹配的构造方法(前提是类中定义了与之
实参顺序和类型都相匹配的构造方法)。