java常见关键字

private关键字

A: private关键字特点
a:是一个权限修饰符
b:可以修饰成员变量和成员方法
c:被其修饰的成员只能在本类中被访问

this关键字

A: 为什么要有this
当我们的局部变量和成员变量相同的时候,如果我们不使用this关键字,那么会导致一个问题:就是局部变量隐藏了成员变量的问题
B: this关键字特点
是当前类的对象引用。
简单的记,它就代表当前类的一个对象。谁调用这个方法,那么该方法的内部的this就代表谁
C: this的应用场景
解决局部变量隐藏成员变量

static关键字

A: static关键字的特点
a:随着类的加载而加载
b:优先于对象存在
c:被类的所有对象共享

​ d:可以通过类名调用
​ 其实它本身也可以通过对象名调用。
​ 推荐使用类名调用。
​ 静态修饰的内容一般我们称其为:与类相关的,类成员

B: static的注意事项
a:在静态方法中是没有this关键字的
如何理解呢?
静态是随着类的加载而加载,this是随着对象的创建而存在。
静态比对象先存在。
b:静态方法只能访问静态的成员变量和静态的成员方法
简单记:静态只能访问静态,非静态可以访问静态的也可以访问非静态的

this和super的区别和应用

this 代表的是本类对象的引用
super代表的是父类存储空间的标识(可以理解成父类的引用,可以操作父类的成员)

  • a:调用成员变量
    this.成员变量 调用本类的成员变量
    super.成员变量 调用父类的成员变量
  • b:调用构造方法
    this(…) 调用本类的构造方法
    super(…) 调用父类的构造方法
  • c:调用成员方法
    this.成员方法 调用本类的成员方法
    super.成员方法 调用父类的成员方法

final关键字

  • final修饰特点
    修饰类: 被修饰类不能被继承
    修饰方法: 被修饰的方法不能被重写
    修饰变量: 被修饰的变量不能被重新赋值,因为这个量其实是一个常量
  • 基本类型,是值不能被改变
    引用类型,是地址值不能被改变

abstract关键字

  • 抽象的意思,用来修饰抽象类与抽象方法

  • 抽象类:

    1.用abstract关键字来表达的类,其表达形式为:(public)abstract class 类名{}

    2、抽象类不能被实例化,也就是说我们没法直接new 一个抽象类。抽象类本身就代表了一个类型,无法 确定为一个具体的对象,所以不能实例化就合乎情理了,只能有它的继承类实例化。 3、抽象类虽然不能被实例化,但有自己的构造方法(这个后面再讨论)

    4、抽象类与接口(interface)有很大的不同之处,接口中不能有实例方法去实现业务逻辑,而抽象类 中可以有实例方法,并实现业务逻辑,比如我们可以在抽象类中创建和销毁一个线程池。 5、抽象类不能使用final关键字修饰,因为final修饰的类是无法被继承,而对于抽象类来说就是 需要通过继承去实现抽象方法,这又会产生矛盾。

  • 抽象方法:

    1、从上面的例子中我们可以看到抽象方法跟普通方法是有区别的,它没有自己的主体(没有{}包起来的 业务逻辑),跟接口中的方法有点类似。所以我们没法直接调用抽象方法

    2、抽象方法不能用private修饰,因为抽象方法必须被子类实现(覆写),而private权限对于子类来 说是不能访问的,所以就会产生矛盾

    3、抽象方法也不能用static修饰,试想一下,如果用static修饰了,那么我们可以直接通过类名调 用,而抽象方法压根就没有主体,没有任何业务逻辑,这样就毫无意义了。

interface关键字

  • 接口的意思,用来定义接口。

extends关键字

  • 继承的意思,通过它可以类与类之间产生继承关系

implements关键字

  • 实现的意思,通过它可以让类与接口之间产生实现关系
发布了56 篇原创文章 · 获赞 6 · 访问量 7783

猜你喜欢

转载自blog.csdn.net/ly823260355/article/details/88635929