Java 基本概念 (三) -- 构造类和关键字

构造类

没有指明构造函数时,使用默认构造器

this 和 super 放在第一条,只能有一条,子类没有 super 默认调用 super()

  // 构造函数 采用 与类相同的名称,并大写
  class Rock {
    Rock(int i) {
      System.out.println("Rock" + i + "");
    }
  }

  public class SimpleConstrutor {
    public static void main(String[] args) {
      for (int i = 0; i < 8; i++) {
        new Rock(i);
      }
    }
  }

  // 一个问题
  class A() {
    A(int a) {}
  }

  class B extends A {
    // 编译不能通过,默认调用 super(),而 super 调用 A 构造函数需要有参数

    B(String s) {}

    p = new Person(){{age = 18, name = "somename"}} // 默认
  }


方法重载

根据参数类型不同进行区分

  • 构造函数重载

  • 方法重载

    不同于覆盖,是重定义新的方法

强制类型转换

向下转型是安全的

  Person p = new Person();
  Student s = new Student();

  Person p2 = new Student();

  Student s2 = (Student) p2; // 强制类型转换

关键字

this 关键字

  • 解决局部变量与域同名问题
  • 调用另一个构造方法 (必须放在第一句)

static 方法就是没有 this 的方法

super 关键字

  1. 访问父类的域和方法
  2. 使用父类的构造方法 (此时,super 必须放在第一句)

package

package pkg1.pkg2..

同一个包中的各个类,默认情况下可以互相访问

posted @ 2021-07-04 14:00  wangzx1973  阅读(95)  评论(0)    收藏  举报