如何创建Java中的类,使用class关键字+类名(类名首字母需大写),同时类可以有访问修饰符,但只能用public修饰若在测试类中定义一个类则不能含有public修饰符,因为含public的类的类名必须与文件名相同,否则会报错。
一、类包含以下方法:
1 构造方法:必须与类名相同且没有返回值,一个类可以有多个构造方法,含有构造方法的前提是拥有字段。构造方法主要是将字段实例化,如果没有显式的设置一个构造方法,将会隐士的设置一个默认构造器,将字段实例化为默认值。
注意不要再构造器中定义与实例字段同名的方法。
2 有用访问器方法和更改器方法:
访问器方法访问对象中的被实例化的字段不做出改变,更改器方法访问对象中被实例化的字段并改变其中的值
常见的为字段实例化后的Getter方法和Setter方法分别为访问器方法和更改器方法。
当然还存在其他更改器方法,由于太多这里不一一列举。
二、如何创建对象
有些类的对象能用new运算符创建一个对象,而有的类需要使用类名.now()构造一个对象(如LocalDate.now())。
LocalDate.now()方法称为静态工厂方法。
注意使用new 运算符构造对象会返回一个这个对象的引用。如 new Employee 构造一个Employee对象并返回一个Employee对象的引用
三、关于null的引用
若构造器为字段赋值为null时有以下两种方法解决。
在Java9中,Object类对此提供了一个便利方法:
public Employee(String n, double s,int year, int month, int day){
name = Object.requireNonNullElse(n, "unkown");
······
}
四、final实例字段:
在类中可以把实例字段定义为final。这样的字段必须在构造对象时初始化。也就是说必须确保在一个构造器执行后这个字段已经被设置,且之后不能再修改。
五、静态字段与静态方法:
静态字段:静态字段属于类不属于任何单个对象。如创建一个Employee类其中有个静态字段id 那么id为类所有之后创建的每个对象都有一个id字段
静态方法:静态方法中没有隐式参数(即这个这个类的对象)。静态方法可以访问静态字段。对于静态方法可以通过类名.静态方法名进行调用。以下两分钟方法可以使用静态方法:
1、方法不需要访问对象状态,因为它所需要的参数都通过显式提供。(Math.pow())
2、方法只需要访问类的静态字段(例如:Employee.getNextId)。
六、调用另一个构造器
关键字this可以指示一个隐式参数,也可以通过this访问另一个构造器。
如果构造器的第一个语句是this(········),这个构造器将调用同一个类的另一个构造器。
public Employee(double s){
//调用同一个类的另一个构造器
this("Employee #"+nextId,s);
nextId++;
}