面向对象设计(OOP)就是使用对象进行程序设计
1.基本知识
1)对象的状态(state,property,attribute)
状态由具有当前值的数据域来表示
2)对象的行为(behavior,action)
行为由方法来定义,调用对象的一个方法就是要求对象完成一个动作。
3)类是一个模板,蓝本,或者说合约,用来定义对象的数据域是什么以及方法是
做什么的。一个对象是累得一个实例,从一个类中可创建多个实例
包含main方法的类称为主类(main class)
4)可以把两个类放在同一个文件中,但是文件中只能有一个类是公共(public)
类,且公共类必须与文件同名。(源代码中每个类都被编译成.class文件)
2.使用构造方法构造对象
1)构造方法是一种特殊的方法
i.必须具备和所在类相同的名字
ii.没有返回值类型,连void都没有
iii.构造方法是在创建对象时使用new操作符调用的。
iv.构造方法的作用是初始化对象,也可重载。
3.通过引用变量访问对象
对象是通过引用变量来访问的。声明语法:ClassName objectRefVar
4.访问对象的数据和方法
成员对象可通过 . 操作符来访问和调用数据域及方法。
5.实例变量&静态变量
实例变量是绑定到类的某个特定实例的,不会被同一个类的不同对象所共享
想让类的所有实例共享数据,就要使用静态变量(也称为类变量)
6.可见性修饰符
1)public
可以在类、方法、数据域前使用public修饰符,表示它们可以被其他任何的类访
问,如果没有使用可见性修饰符,那么默认类、方法和数据域是可以被同一个包中
任何一个类访问的。(包内访问或包私有)
2)private
private限定方法和数据域只能在它自己的类中被访问。
注:private只能用在类的成员上,而public可以应用在类或类的成员上;两者
都不能修饰局部变量。
7.数据域封装
为避免数据被直接修改,应使用private对数据进行声明。
客户端需要存取、修改数据,可以提供一个get和set的方法
public returnType getPropertyName()
public void setPropertyName(dataType propertyValue)
8.对象数组
实际上是引用值的数组(还需要初始化)
9.this引用
关键字this引用对象自身,它也可以在构造方法内部用于调用同一个类的其他构造方
法。
1)用this引用隐藏数据域
2)使用this调用构造方法
public class Circle()
{
private double radius;
public Circle(double radius){
this.radius = radius;
}
public Circle(){
this(1.0);//this关键字用于调用另一个构造方法
}
}