Demo02.java 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. package course;
  2. /**
  3. * @author WanJl
  4. * @version 1.0
  5. * @title Demo02
  6. * @description
  7. * @create 2026/7/22
  8. */
  9. public class Demo02 {
  10. /*
  11. 继承中变量的访问特点:
  12. 在子类中访问一个变量,采用的是就近原则:
  13. 1、在子类的局部范围查找
  14. 2、在子类的成员范围查找
  15. 3、父类的成员范围查找,包括父类的父类
  16. 4、如果都没有就报错
  17. super关键字
  18. 之前我们说过this关键字,指向的是本类的对象。
  19. super执行的就是本类的父类的对象。
  20. this 代表本类对象的引用
  21. super 代表父类对象的引用
  22. this和super的使用:
  23. 成员变量中:
  24. this.成员变量 --> 访问本类的成员变量
  25. super.成员变量 --> 访问父类的成员变量
  26. 成员方法中:
  27. this.成员方法 --> 访问本类的成员方法
  28. super.成员方法 --> 访问父类的成员方法
  29. 构造方法中:
  30. this() --> 访问本类的无参构造方法
  31. this(参数) --> 访问本类的有参构造方法
  32. super() --> 访问父类的无参构造方法
  33. super(参数) --> 访问父类的有参构造方法
  34. 继承中的构造方法的特点:
  35. 子类的所有构造方法(有参的或无参)都会默认访问父类的【无参构造方法】。
  36. 如果父类没有无参的构造方法,那么就必须在子类的构造方法中指定父类的某一个有参构造方法。
  37. 指定方式 就是 super(参数)
  38. 子类会继承父类的数据,可能还会使用父类的数据,所以,子类在初始化(创建对象之前),
  39. 就一定要先完成对父类对象的创建。原因就是每一个子类构造方法的【第1句】默认都是 super() 就是调用父类的无参构造方法。
  40. 当创建子类对象的时候,一定会先加载父类的构造方法(默认加载无参的,没有就加载子类构造方法中指定调用的)
  41. 再完成子类对象的创建。
  42. */
  43. }