Java中关键字

1 this关键字

1.1 出现原因
  1. 在声明一个属性对应的set()方法时,通过形参给对应属性赋值,属性名和形参名同名时,无法区分。
  2. 让类中的一个方法访问该类中另一个方法或实例变量
1.2 可以调用的结构:成员变量,方法,构造器
1.3 this在方法中调用是指当前对象,在构造器中调用是指正在创建的对象
1.4 this调用构造器      格式:this(形参列表)  可以在类的构造器中调用其他构造器(写在首行)

如果一个类中声明了n个构造器,最多有n-1个构造器可以使用 this(形参列表)

2 super关键字

1.1 出现原因
  1. 子类调用父类以后,对父类的方法进行了重写,为了调用父类中被重写的方法
  2. 子类调用父类以后,发现子类和负类定义了同名属性,为了在子类中区分两个同名属性
1.2 super调用构造器
  1. 子类继承父类时不会继承父类构造器,只能通过 “super(形参列表)” 方式调用父类指定的构造器
  2. “super(形参列表)” 只能放在首行
  3. “super(形参列表)” 和 “this(形参列表)” 只能在首行二选一
  4. 如果首行既没有“super(形参列表)” 也没有“this(形参列表)”,则默认调用super(),即父类中的空参构造器
  5. 子类中任何一个构造器要么调用本类中重载构造器,要么调用父类构造器
  6. 一个类声明中有n个构造器,最多调用n-1个“this(形参列表)”,其余一个调用“super(形参列表)”

 3 static关键字

static表示静态,用于修饰类的成员(属性,方法和内部类)

静态变量:使用static修饰的属性属于类本身,即使没有创建类的实例,也可以通过类名直接访问静态变量。静态变量在类加载时初始化,所有实例共享同一个静态属性

静态方法:使用static修饰的方法属于类本身,即使没有创建类的实例,也可以通过类名直接访问静态方法。静态方法只能访问静态属性和其他静态方法,不能访问非静态属性和方法

静态初始化块:使用static修饰的代码块。静态初始化块在类加载时执行,对静态属性或者初始化执行一些静态操作,每个类中可以有多个静态块,按照在类中的顺序执行

静态内部类:使用static修饰嵌套类,与静态内部类不同,可以直接通过外部类名访问静态内部类

3.1 注意事项
  1. 静态成员不能直接访问非静态成员,但非静态成员可以直接访问静态成员
  2. 静态方法中不能使用this关键字,因为this代表当前对象实例,静态方法没有特定的实例
  3. 静态成员和方法可以在没有创建类的实例情况下使用
  4. 静态方法不能被子类重写,只能被隐藏(父类和子类有相同静态方法)

static关键字与类相关,用于定义类的成员,可以通过类名直接访问,并在类加载时初始化

4  abstract

abstract表示抽象,应用于类,接口和方法上
  1. 抽象类:使用abstract修饰的类称为抽象类。抽象类不能实例化,只能作为其他类的基类。抽象类可以包含抽象方法或者非抽象方法。如果一个类包含抽象方法,那它一定是抽象类
  2. 抽象方法:使用abstract修饰的方法。抽象方法没有具体实现,只有方法签名(返回类型,方法名和参数列表)。抽象方法声明在抽象类中,子类必须实现所有继承的抽象方法,除非子类本身是抽象类
注意事项:
  1. 抽象类和抽象方法不能被实例化,需要通过子类进行扩展和实现
  2. 子类继承抽象类时,必须实现父类中所有抽象方法,除非子类也是抽象类
  3. 抽象方法不能使用private final 和static修饰(private方法和final方法不能被重写,而抽象方法一定要被重写;static可以被类调用,抽象方法没有方法体不能被调用;final不能有子类,抽象方法一定有子类)

抽象类提供了一种模板或者契约,可以通过子类或实现类来实现具体功能。常用于面向对象中继承和多态使用(功能内部一部分是实现的,另一部分实现不确定,可以把不确定部分暴露出来让子类实现)

5 interface关键字

interface表示接口,是一种特殊的抽象类,可以包含常量和抽象方法的声明

注意:

  1. 接口中的属性必须使用 public static final 修饰(可以使用)
  2. 接口中不能有构造器和代码块
  3. 类可以实现接口(多实现,弥补了单继承的局限),类必须将实现的接口中所有的抽象方法均实现,否则该实现类为抽象类
  4. 接口与接口之间可以多继承

作用:

  1. 接口定义了类应该具备的行为和功能,类通过实现接口来遵守,确保一致的行为
  2. 实现多态性:通过接口,可以创建能够处理不同对象的通用代码,提高代码的灵活性和可复用性(接口名  变量名 = new 实现类对象)

 通过接口的实现类实现多态性,可以使用接口类型的引用变量引用不同的实现类对象,实现对不同对象的统一处理。这提高了程序的灵活性和可扩展性。

6 final关键字

修饰类:被final修饰的类为最终类,不能被其它类继承
修饰方法:被final修饰的方法为最终方法,不能被子类重写
修饰变量:1 对于基本类型,一旦赋值后无法改变   2 对于引用类型,final变量不能再指向其他对象,但所指对象的状态是可变的(不能new,可以add)
作用:
  1. 防止类被继承,方法被重写,变量被修改,增强程序的安全性和稳定性
  2. 在多线程环境中,final可以实现线程安全

final关键字不同于const关键字,const是c和c++关键字,用于定义常量并在其声明时必须进行初始化,final是java中关键字,可以在声明时赋值,也可以在构造函数时赋值,但一旦赋值后不能修改。

7 instanceof关键字

instanceof 是 Java 中的一个关键字,用于判断一个对象是否是指定类型或其子类的实例  object instanceof type  返回的时布尔类型

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值