Object类
- Object类是所有类的父类
- Java中的每个类都可以使用Object中定义的方法
方法重载
- 同一个类中
- 方法名相同,参数列表不同(参数顺序、个数、类型)
- 方法的返回值、访问修饰符任意(可以相同可以不同)
- 与方法的参数名无关
方法重写:
- 有继承关系的子类中
- 方法名相同,参数列表相同(参数顺序、个数、类型),方法返回值相同(方法重写的时候返回值可以不同,可以允许是子类类型)
- 访问修饰符、访问范围要大于等于父类的访问范围
- 与方法的参数名无关
访问控制修饰符
private: 只允许在本类中进行访问
public: 运行在任意位置(project内)访问
protected: 运行在当前类、同包子类/非子类、跨包子类调用;跨包子类不允许调用
默认: 允许在当前类、同包子类/非子类调用;跨包子类/非子类调用
static
- 代表静态、静态成员、类成员
- 特点:
- 无论类实例化多少对象,静态成员都会共有同一块空间
- 类对象共享
- 类加载时产生,类销毁时释放,生命周期长
- 静态成员和C中的全局变量有些类似,值会随着改变而改变,但是地址不变
- 调用方式:
- 类名.静态成员
- 实例化对象.静态成员
- static不能修饰类,但是可以修饰方法,修饰的方法不能被重写
final
-
final 修饰的类不能够被继承,修饰的方法不能被继承类重新定义,修饰的变量为常量,是不可修改的。
-
final class: 该类没有子类,也就是不能被继承 public final class \ final public class
-
final 方法: 该方法不允许被子类重写,但是可以被子类正常的继承使用
-
final 方法内局部变量: 只要在具体被使用之前进行赋值即可,一旦被赋值就不运行被修改
- 类中成员属性: 有3处可以被赋值:
- 定义直接初始化
- 构造方法
- 构造代码块
-
fianl 引用类型的变量:初始化之后不能再指向另一个对象,但是这个对象的内容是可变的
-
可以和static配合使用