类的定义列子如下代码:
public class Dog {
String breed;
int size;
String colour;
int age;
void eat() {
}
void run () {
}
void sleep() {
}
void name(){
}
一个类可以包含以下类型变量:
- 局部变量:在方法、构造方法或者语句块中定义的变量被称为局部变量。变量声明和初始化都是在方法中,方法结束后,变量就会自动销毁。
- 成员变量:成员变量是定义在类中,方法体之外的变量。这种变量在创建对象的时候实例化。成员变量可以被类中方法、构造方法和特定类的语句块访问。
- 类变量:类变量也声明在类中,方法体之外,但必须声明static类型。
一个类可以拥有多个方法。在上面的例子中,eat()、 run()、 sleep()、name()都是Dog中的方法。
访问控制
针对类、成员方法和属性, Java提供了4种访问控制权限。分别是 private、 default、 protected、 public。4种访问权限按级别由小到大依次列出为:private< default<protected<public.
(1)private:private属于私有访问权限。用于修饰类的属性和方法类的成员一旦使用了private关键字修饰,则该成员只能在本类中进行访问。
(2)default:default属于默认访问权限。如果一个类中的属性或方法没有任何的访问权限声明,则该属性或方法就是默认的访问权限,默认的访问权限可以被本类中的其他类访问。但是不能被其他类访问。
(3)protected:属于受保护的访问权限,一个类中的成员如果使用了protected访问权限,则只能被本包及不同包的子类访问。
(4)public: public属于公共访问权限,如果一个类中的成员使用了public访问权限,则该成员可以在所有类中被访问,不管是否在同一包中。
由此可以通过一张表总结上述访问权限,
访问控制权限
访问范围 | private | default | protected | public |
同一类中 | √ | √ | √ | √ |
同一包中的类 | √ | √ | √ | |
不同包中的类 | √ | √ | ||
全局范围 | √ |
构造方法
每个类都有构造方法。如果没有显式的定义的构造方法, Java编译器会提供一个默认的构造方法。
在创建一个对象的时候,至少要调用一个构造方法。构造方法的名称必须与类同名一个类可以多个构造方法。
创建对象
对象是根据类创建的。在Java中使用关键字new来创建一个新的对象,创建对象需要以下三大步。
- 声明一个对象,包括对象名称和对象类型。
- 使用关键字new来创建一个对象。
- 使用new创建对象时,会调用构造方法初始化对象。
小提示: Java程序的文件名
如果一个Java源文件中定义的所有类都没有使用public修饰,那么这个Java源文件的文件名可以是一切合法的文件名;如果一个源文件中定义了一个public修饰的类,那么这个源文件的文件名必须以public修饰的类名一致。