1. 修饰符权限控制表

修饰词 本类 同一个包的类 继承类 其他类
private × × ×
无(默认) × ×
protected ×
public

2. 构造器

  1. 构造器名和类名相同,没有返回值。
  2. 使用new关键字,必须要有构造器,本质是在调用构造器。
  3. 一个类默认会生成公共的无参构造器。
  4. 一旦定义了有参构造,无参构造器就必须显式定义。

2.1. Instanceof 关键字

它的作用是测试它左边的对象是否是它右边的类的实例,返回 boolean 的数据类型。

  1. 父类转子类需要进行强制类型转换,这时候可以用instanceof进行判断。

  2. 子类转父类不需要进行强制类型转换。

  3. instanceof左右的参数应该是父子关系。
A instanceof Object; // true,因为所有的类都继承Object

不同分支下的类在编译的时候就会报错。

  • 可以利用instanceof关键字判断是否可以进行强制类型转换。

3. 补充

  1. 引用对象的创建会在栈中创建引用变量名,并指向堆中创建的引用对象空间的地址。

  2. static{
      // 静态代码块
      // 在使用构造器之前会使用且只会调用一次
      // 在匿名代码块前会调用
    }
    
    {
      // 匿名代码块
      // 在调用构造器之前会调用
    }
    
  3. Java不支持多继承,即extends只支持一个类。

  4. 一个类可以实现多个接口,从而实现多继承。

  5. 接口中定义的所有方法都是抽象的public abstract,定义的所有值都是常量public static final

  6. 一个Java类中可以有多个class,但只能有一个public class。

  7. 在静态类或静态方法中无法访问类的非静态属性或方法。

  8. final修饰的类的特点:不能被继承,没有子类。final类中的方法默认是final的。

  9. final关键字有这是无法改变的或者终态的含义,它可以修饰非抽象类、非抽象类成员方法和变量。

    • final类不能被继承,没有子类,final类中的方法默认是final的。
    • final方法不能被子类的方法覆盖,但可以被继承。
    • final成员变量表示常量,只能被赋值一次,赋值后值不再改变。
    • final不能用于修饰构造方法。
Copyright © rootwhois.cn 2021-2022 all right reserved,powered by GitbookFile Modify: 2022-11-26 20:03:31

results matching ""

    No results matching ""