类与对象(一)
类和对象之间的关系
- 类是对象的设计图,对象是类的实体
- 类是对象的模板,对象是类的实例
设计的基本步骤
- 发现类,根据对象去发现类
- 找出属性(名词),根据对象的共同属性
- 找出行为(动词),根据对象的共同行为
定义类
public class Actor{
/*共有属性*/
public String name;
public int age;
public char sex;
public String job;
/*共有行为(方法)*/
public void eat(){}
public void performs(){}
}
创建对象(即创建类的对象)
/*声明并实例化对象*/
类名称 对象名称 = new 类名称();//new为分配空间使用
实例化产生对象后可以进行类的操作:
对象.属性:调用类中的属性
对象.方法():调用类中的方法
- 使用自己定义的类型,也需要声明该类型变量。
- 任何变量必须赋初值才能使用
- 调用对象的方法,并由变量接收方法的返回值,方法返回某类型,接收也是某类型
构造方法
- 当使用new创建某类对象时,实际要调用该类的构造方法,主要用来初始化对象属性
- java把对象初始化的工作放在构造方法中,当对象被创建时,构造方法被自动执行
关于构造方法
- 没有返回值类型
- 方法名和类名一样
- 可以指定参数及实现重载
- 注意隐式构造和参数化构造不能共存
this关键字
Java中this可以完成三件事:
- 表示本类属性,this.属性
- 表示本类方法,this();表示调用本类的构造方法
- 当前对象
this调用本类构造方法时需要注意问题
- 所有构造方法是在对象实例化时被默认调用的,而且是在调用普通方法前调用,所以使用this()调用构造方法的操作,一定要放在构造方法首行
- 一个类中存在多个构造方法的话,并且这些构造方法都使用了this()互相调用,那么至少要保留一个构造方法没有调用其他构造,以作为程序的出口
封装的概念与使用
封装的概念
封装是将类的状态信息隐藏在类内部,不允许外部程序直接访问,而通过该类提供的方法来实现对隐藏信息的操作和访问
封装的具体步骤:
- 修改属性的可见性来限制对属性的访问
- 为每一个属性创建一对赋值(setter)方法和取值(getter)方法,用于对这些属性的存取
- 在赋值方法中,加入对属性的存取控制语句
封装的使用
封装时用到的多个权限控制符来修饰成员变量和方法:
- private:具有类可见性,成员变量和方法只能在其定义的类中访问
- 默认:具有包可见性,成员变量和方法只能被同一个包里的类访问
- protected:可以被同一个包中的类访问,被同一个项目中不同包中的子类访问
- public:具有项目可见性,可以被同一个项目中所有的类访问,是最大的访问权限