java作为一门面向对象语言,最重要的特性之一就是万物皆为对象。
一、类
[修饰符] class 类名{
属性..
方法..
构造器...
}
类可以被理解为数据类型,同int、char等数据类型类似。类的成员包含属性、方法、构造器。
1.修饰符
java中常用的修饰符有:
- private 只能在该类的内部被访问,其子类也不行
- protected 可以被同包的类访问,也可以被不同包中的子类访问
- 默认修饰符 只能被同一个包的类访问
- public 能被任意同或不同包的类访问
- 其他修饰符
- static 被修饰的类或变量为静态类/变量,静态类或变量属于类,不属于实例
- final 被final修饰的类或方法不能被继承,一般用于避免工程问题;修饰变量同static
- transient
- abstract
- 其他高级修饰符
2.属性
属性,或字段,是类或实例中储存的数据。
定义属性:
[修饰符] 属性类型 属性名 (赋值)
3.方法
方法是类中构成类的功能的部分,负责实现特定的工作,类似于结构化程序里的函数。
方法不能独立存在,必须依附于对象。
[修饰符] 返回值类型 方法名 (形参) {
方法体
}
4.构造方法
构造方法用于在创建对象时执行操作,常用于对象的初始化等。
[修饰符] 方法名(必须和类名相同)(参数) {
方法体
}
二、实例
实例就是对象,是属于某个类的对象,相对于类是切实存在、占用内存的实体。
一般通过new关键字来创建实例,在内存中为对象分配空间。
类名 实例名 = new 类名()
没有被static修饰的属性或方法属于对象本身,而不属于类,可以直接由对象调用。
属于对象的属性或方法都只针对对象本身,对象间的数据并不冲突。
三、抽象类
抽象类的声明和规则
抽象类是被abstract修饰的类。抽象类必须包含被abstract修饰的抽象方法。
格式:
abstract class 类名 {
类体
}
抽象类不能被实例化,不能用new创造实例。
抽象方法没有方法体,没有{}。
抽象类的作用
抽象类不能创建实例,只能被当成父类被新的类继承。
这个特性让抽象类很适合作为一个类的模板存在,让子类的设计能够遵循父类的特征,避免设计的随意性。
对相同特征提取出抽象类,然后再由子类对模板进行扩展和改造,是一种非常好用的设计模式。
四、 包
软件包是java类的整合,具体到文件上就是不同的文件夹结构。
定义软件包:package 包名
导入软件包:import 包名
如import java.util.*
、
import java.util.Date