class ClassName {fifield ; // 字段 ( 属性 ) 或者 成员变量method ; // 行为 或者 成员方法}
class为定义类的关键字,ClassName为类的名字,{}中为类的主体。
- public class Test {
- private boolean flg;
- public void func() {
-
- }
-
- public static void main(String[] args) {
-
- Test test1 = new Test();
- test1.func();
-
- Test test2 = new Test();
- test2.func();
- }
1.普通的成员变量
通过对象的引用和点号来进行访问,是属于对象的。
Test test1 = new Test();
test1.func();
2.静态的成员变量
static修饰的成员变量,称为静态成员变量,静态成员变量最大的特性:不属于某个具体的对象,是所有对象所共享的。
通过类名和点号来进行访问,属于类的,只有一份,在方法区。
Test.func();
代码块主要由实例代码块静态代码块,执行顺序一般是先静态的再实例的,再执行构造方法。如果存在多个静态代码块,那么静态代码块的先后顺序由他们的定义的先后顺序决定,而且静态代码块只执行一次。
对类内部的实现细节进行隐藏,对类外提供公开的接口。实现是通过private关键字构成的,对构造方法、成员变量和成员方法都可以进行修饰。
1.可以通过构造方法进行初始化
public class Date {public int year = 1900 ;public int month = 1 ;public int day = 1 ;}public static void main ( String [] args ) {Date d = new Date ( 2021 , 6 , 9 );}
2.可以就地初始化。
public class Date {public int year = 1900 ;public int month = 1 ;public int day = 1 ;}
3.默认初始化
数据类型 | 默认值 |
byte | 0 |
char | '\u0000' |
short | 0 |
int | 0 |
long | 0L |
boolean | false |
float | 0.0f |
double | 0.0 |
reference | null |
方法名和类名是一样的,没有返回值。当构造方法执行结束,那么对象的实例化也就完成了。可以有多个构造方法,那么就构成了重载。