淘先锋技术网

首页 1 2 3 4 5 6 7

java中的关键字


一、static关键字

  • 作用:用于修饰成员(成员变量和成员函数)。

  • 被修饰后的成员具备以下特点:

    1. 随着类的加载而加载。
    2. 优先于对象存在。
    3. 被所有对象所共享。
    4. 可直接被类名调用。
  • 注意事项:
    1. 静态方法只能访问静态成员
    2. 但是非静态成员可以访问静态成员;
    3. 静态方法中不可以使用 this,super 关键字
    4. 继承中,父类为static的方法无法覆盖,
  • 示例:
    • 代码:
class Student
{
    //随着类的加载而加载
    public static String name="李四";
    public static int age=;
    public static void study()
    {
        System.out.println("Student study");
    }
}
class Demo 
{
    public static void main(String[] args) 
    {
        //被static关键字修饰的方法和成员变量能通过类名直接调用
        Student.study();
        System.out.println(Student.name);
        System.out.println(Student.age);
    }
}
  • 输出结果:
    这里写图片描述

二、private关键字

  • 特点:

    • 权限修饰符,用于修饰成员(成员变量和成员函数)。

    • 私有仅仅是封装的一种表现形式,提供对外访问方式(set和get方法)可以对数据进行操作判断,提高安全性。

  • 注意事项:

    • 被私有化的成员只在本类中有效;继承中,父类的私有方法不可以被覆盖,子类无法继承父类中私有的内容(方法和变量)。

    • 私有仅仅是封装的一种体现而已。

    • 将构造函数私有(执行体为空)后,不能创建对象,将该类中的方法定义成静态的,使用类名来调用 。

三、this关键字

  • 定义:this代表其所在函数所属对象的引用。

  • 使用this关键字的情况:

    1. 在一个构造方法中,通过this关键字调用所在类中的另一个构造方法。

    2. 在一个实例方法内,局部变量或参数与实例变量名称相同,编译口器无法区分变量,这时要用this关键字。

    3. 在一个实例方法内,通过this关键字访问当前实例的引用。

  • 示例:

    • 代码
public class Test
{
    String name;
    //局部变量与成员变量名称相同,用this关键字来区分
    Public Test(String name)
    {
        this.name  = name; 
    }
}

四、super关键字

  • 特点:

    • super代表父类的内存空间的标识。

    • 继承中,在子类的构造函数中,第一行有一个默认的隐式语句:super(),因此父类的构造函数会先执行。

  • 使用super关键字的情况:

    • 当子父类中的成员变量同名用super区分父类。

    • 当继续使用被覆盖的父类方法可以通过super.函数名获取。

  • 注意事项:

    • 因为super和this都只能定义在第一行,所以只能有一个 。

五、final关键字

  • 特点:

    • final可以修饰类,方法,变量。

    • final修饰的类不可以被继承。

    • final修饰的方法不可以被覆盖

    • final修饰的变量是一个常量,只能被赋值一次。

六、abstract关键字

  • 特点:

    • 采用 abstract 方法的类本来就是抽象类,并且必须声明为 abstract。

    • abstract 类不能实例化。

    • 仅当 abstract 类的子类实现其超类的所有 abstract 方法时,才能实例化 abstract 类的子类。这种类称为具体类,以区别于 abstract 类。

    • 如果 abstract 类的子类没有实现其超类的所有 abstract 方法,该子类也是 abstract 类。

    • 该关键字不可以和private、static、final共存(不可以被子类继承覆盖)。