类和对象
类:主观抽象,是对象的模板,可以实例化对象。
习惯上类的定义格式:
package xxx;
import xxx;
public class Xxxx{
//属性 ......;
//构造器 ......;
//方法 ......;
}
- 定义属性:实例变量。
格式:[ 修饰符 ] 类型 变量名 [ = ? ]
实例变量定义在类中但在任何方法之外。
实例变量有默认值:各种各样的0。(同数组)
实例变量的作用域至少在本类内部,受访问控制符的限制。
在重合作用域,实例变量和局部变量允许有命名冲突,“局部优先”。
- 定义方法:
格式: [ 修饰符 ] 返回类型 方法名( 参数列表 ) [ throws 异常 ] { ...... }
java中所有参数都是值传递。
当没有值返回时,返回类型必须被定义为void。
返回类型必须与方法名相邻,其他修饰符可以调换位置。
- 构造器:
在创建对象的过程中调用的方法。
构造器没有返回类型。
构造器的名字与类名相同。
格式为:[ 修饰符 ] 类名( 参数列表 ){ },修饰符可以是private、 protected、 default、private
在一个对象的生成周期中构造器只用一次,由系统自动调用,不允许手工调用。
程序员没有提供一个构造器,系统会自动提供一个无参的构造器。
- 获得对象的方式:
通过new(在堆空间中申请分配空间),new 类名(),可以通过这种形式获得一个对象,这时的对象是无法使用,必须把他的地址存放进一个对象变量才能够使用。
例如 :
Car c=new Car();
注意:
最好在写类时提供一个无参的构造器。
this关键字:
this是个隐式参数,代表当前对象;
publie class Student{
private String name;
public void setName(String name){
this.name=name; //this.name为当前对象的成员变量
}
}
如果某个构造方法的第一个语句具有形式this( ... ),那么这个构造方法将调用同一类中的其他构造方法。
注意:
在构造器中this(...)必须放在该构造器的第一行。
this不能出现在静态方法里面。
类、对象、实例三者的关系:
1,类:是对象的模板,可以实例化对象。
2,对象:类的个体。
3,实例:实现的对象。
student s;
s=new student();
其中 Student为类,s为对象,new Student()为实例,s赋值后也是实例了。