Java 类的五大成分:
- 成员变量
- 构造方法
- 代码块
- 成员方法
- 内部类
成员变量
在类中定义的变量叫做成员变量,由不同关键字修饰可分为:
- 普通成员变量:没有特殊关键字修饰;
- 静态成员变量:由 static 修饰;
- 常量:由 static 和 final 修饰;
示例:
public class Demo {
public int age;
public static boolean sex;
public static final String NAME = "zhangsan";
}
构造方法
构造方法名和类名相同,没有返回值,支持重载。
每个类都有默认无参的空构造方法,构造方法的唯一作用是初始化实例对象。如果自定义了带参数的构造方法,无参的空构造方法会失效。
示例:
public class Demo {
public int age;
public Demo() {
}
public Demo(int age) {
this.age = age;
}
}
代码块
在 Java 中,由一对大括号包裹的代码片段称为代码块,按有无 static 修饰分为静态代码块和实例代码块。
- 静态代码块由 static 修饰,会与类一起优先加载,且自动触发执行一次。
- 实例代码块无 static 修饰,每次创建类的实例时,实例代码块都会被加载并自动触发执行一次。
- 实例代码块底层实际上是提取到每个构造方法中执行的。
示例:
public class Demo {
{
// 实例代码块会被提取到构造方法中执行
}
static {
// 静态代码块在类加载时自动执行
}
}
成员方法
在类中定义的方法叫做成员方法。按有无 static 修饰分为静态方法和实例方法。
- 静态方法有 static 修饰,静态方法只能访问静态成员变量和静态方法;
- 实例方法无 static 修饰,实例方法可以访问静态成员和普通成员;
public class Demo {
public void normal() {
// 普通方法
}
public static String staticMethod() {
// 静态方法只能访问静态成员变量和静态方法
return "这是静态方法";
}
}
内部类
在 Java 中,可以将一个类的定义放在另外一个类的定义内部,这就是内部类。内部类本身就是类的一个属性,与其他属性定义方式一致。
内部类分为:成员内部类、局部内部类、匿名内部类和静态内部类。