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