1、类
类的定义
- 类是相同或相似对象的一种抽象,是对象的一个模板,它描述一类对象的行为和状态。
- 类是具有相同属性和方法(行为)的对象的集合
类和对象之间的关系
类就是对象的抽象(或者模板),对象就是类的具体(或者实例)。
变量类型
- 局部变量:在方法、构造方法或者语句块中定义的变量被称为局部变量。变量声明和初始化都是在方法中,方法结束后,变量就会自动销毁。
- 成员变量:成员变量是定义在类中,方法体之外的变量。这种变量在创建对象的时候实例化。成员变量可以被类中方法、构造方法和特定类的语句块访问。
- 类变量:也叫静态变量,类变量也声明在类中,方法体之外,但必须声明为
static
类型。
2、static
static可以修饰 变量、方法、类、代码块。
1.静态变量
静态变量: 又称为类变量,可以直接通过类名来访问它,类所有的实例都共享静态变量。
2.静态方法
属于类方法,不依赖于实例,可以直接通过类名来调用它;不能访问非静态成员和方法,但非静态成员和方法可以访问静态方法。
3.静态内部类
不依赖于实例,不能访问外部类的非静态的变量和方法。
4.静态语句块
在类初始化时运行一次。
5.初始化顺序
静态变量和静态语句块优先于实例变量和普通语句块,
静态变量和静态语句块的初始化顺序取决于它们在代码中的顺序,
最后才是构造函数的初始化。
存在继承的情况下,初始化顺序为:
- 父类(静态变量、静态语句块)
- 子类(静态变量、静态语句块)
- 父类(实例变量、普通语句块)
- 父类(构造函数)
- 子类(实例变量、普通语句块)
- 子类(构造函数)
3、final
final可以修饰 类、方法、变量。
1.修饰的类不能被继承;
2.修饰的方法不能被重写;
3.修饰的变量只能赋值一次,即常量。
4、访问修饰符
权限修饰符可以用来修饰属性和方法的访问范围。
5、方法重载与重写
重载: 在同一个类中,方法名相同,参数列表不同;参数列表不同包括:参数类型、参数个数、参数顺序。
重写: 在子类和父类中,返回值、方法名、参数列表相同,重写的是方法体。