2、类与对象及各种关键字

  • 类是对象的抽象。
  • 注意事项:一个类里面尽量只写一个class,而且只有主类可以加权限修饰符。
  • 一个类可以作为另一个类的成员,用户有角色,学生有电脑。

访问权限修饰符

2、类与对象及各种关键字

方法重载与方法重写

  • 方法重载(overload)(并列关系)
    • 方法名相同
    • 形参数据顺序不同或者数据类型不同
    • 与修饰符和返回值类型无关
  • 方法重写(override)(覆盖关系)
    • 前提:有层级关系(继承)
    • 场景:出现在子类里面,子类重写父类的方法
    • 体现:
      • 方法名,形参必须相同
      • 返回值类型<= 父类返回值类型(多态)
      • 访问权限修饰符>=父类访问权限修饰符

this关键字

  • this本质为对象(可以用到输出语句),当前正在运行对象。
    • 当成员变量与局部变量重名的时候 我们可以使用this进行区分
    • this访问类的成员
    • this可以充当实际参数
    • this调用构造方法(再构造方法) this(参数); 代码的第一行
    • this不能再static所修饰的方法运用

super关键字

  • super本质为父类对象的一个标识(不可以用到输出语句)。

static关键字

  • 修饰符:静态的。
  • 使用场景:常量定义或者工具类。
  • jvm加载class文件,只加载一次,static成员也只加载一次。由static修饰的成员及方法称为 类成员 或者 类方法。
  • static修饰成员:
    • 如果类中成员变量被定义为静态,那么不论有多少个对象,静态成员变量只有一份内存拷贝,即所有对象共享该成员变量;
    • 静态成员变量的作用域只在类内部,但其生命周期却贯穿整个程序;
    • 假如变量数据要让所有对象共享,那就必须声明成静态变量。
  • static修饰方法:
    • 静态方法只能访问静态成员及方法;
    • 静态成员方法没有this引用。
  • 静态代码块
    • 与构造方法的功能相似,主要对成员变量做初始化数据的操作;
    • 但是有且只走一次;
    • 执行级别比构造方法还要高。