Java修饰符abstract与static及final的精华总结

Java修饰符abstract与static及final的精华总结

在Java中,修饰符用于描述类、方法或者变量的特性,包括访问权限、状态等。其中,abstract、static和final三个修饰符在Java编程中使用较多,并且常常存在于一个类或者方法声明中。本文将从这三个修饰符的定义、作用及用法等多个方面逐一讲解。

一、abstract修饰符

1.1 定义

abstract是Java中一个关键字,它用于修饰类、方法,表示这个类、方法是抽象的。抽象类不能被实例化,只有它的非抽象子类才能被实例化。

1.2 作用

  • 抽象类不能被实例化,主要用于被子类继承和重写;
  • 抽象方法没有实现,只有方法定义,具体实现由实现类来完成。

1.3 示例说明

//定义一个抽象类Animal
abstract class Animal{
    public abstract void move();//move()方法为抽象方法
}

//定义一个动物类Animal的子类Dog
class Dog extends Animal{
    public void move(){
        System.out.println("狗在奔跑!");//重写move()方法的具体实现
    }
}

//实例化Dog类,并调用它的move()方法
Dog dog=new Dog();
dog.move(); //输出:狗在奔跑!

上述示例中,Animal类为抽象类,其中move()方法是一个抽象方法,它没有实现,只有方法定义。Dog类继承Animal类后,重写了move()方法,并具体实现了“狗在奔跑!”这句话的输出,在实例化Dog类并调用move()方法后,输出了正确的结果。

二、static修饰符

2.1 定义

static是Java中一个关键字,它可以用于修饰类、方法、变量和代码块。当这个关键字用于修饰成员变量时,表示这个变量属于类而不是对象,在内存中只有一个。当用于修饰方法时,表示这个方法属于类,而不是属于对象,可以通过类名直接调用该方法。

2.2 作用

  • 用于定义静态变量和静态方法;
  • 静态变量和静态方法属于类,而不是属于对象。可以通过类名直接访问。

2.3 示例说明

class Employee{
    private static int empNo=0; //定义了一个静态变量
    private String name;

    public Employee(String name){
        this.name=name;
        empNo++; //对静态变量进行累加操作
    }

    public static int getEmpNo(){ //定义了一个静态方法
        return empNo; //返回静态变量
    }

    public String getName(){
        return name;
    }
}

public class StaticTest{
    public static void main(String args[]){
        Employee emp1=new Employee("小明");
        Employee emp2=new Employee("小王");
        System.out.println("员工编号:"+Employee.getEmpNo());//通过类名直接访问静态方法
        System.out.println(emp1.getName()+"的编号是:"+Employee.getEmpNo());
        System.out.println(emp2.getName()+"的编号是:"+Employee.getEmpNo());
    }
}

在上述示例中,Employee类中定义了一个静态变量empNo和一个静态方法getEmpNo()。getEmpNo()方法返回了静态变量empNo的值,而它们属于类而非属于对象,因此可以通过类名直接访问静态方法。调用Employee类中的getEmpNo()方法,即可获取到当前Employee对象的编号。

三、final修饰符

3.1 定义

final是Java中一个关键字,它可以用于修饰类、方法、变量等内容。用final修饰的变量表示常量,一旦定义了其值,就不能再次修改。

3.2 作用

  • 用于修饰类、方法、变量等内容;
  • 用于定义常量。

3.3 示例说明

class Circle{
    private final double PI=3.14; //定义常量PI
    private double radius;

    public Circle(double radius){
        this.radius=radius;
    }

    public double getArea(){
        return PI*radius*radius; //计算圆的面积
    }
}

public class FinalTest{
    public static void main(String args[]){
        Circle circle=new Circle(1.0);
        System.out.println("半径为"+circle.getRadius()+"的圆的面积是:"+circle.getArea());
    }
}

在上述示例中,Circle类中定义了常量PI,表示圆的周长。由于PI是一个常量,因此在Circle类的定义中,只需要对它进行定义,而无需进行初始化。在getArea()方法中,计算圆的面积时,采用了final修饰的PI常量,从而可以有效保证程序的正确性和简洁性。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java修饰符abstract与static及final的精华总结 - Python技术站

(0)
上一篇 2023年6月26日
下一篇 2023年6月26日

相关文章

  • Spring @Conditional注解从源码层讲解

    下面是“Spring @Conditional注解从源码层讲解”的完整攻略。 什么是@Conditional注解 @Conditional是Spring框架中的一种条件注解,可以根据Condition接口的实现类判断是否满足某个条件,从而实现动态控制是否创建某个bean或者配置某个bean的属性。 @Conditional注解的源码实现 在Spring源码中…

    other 2023年6月27日
    00
  • Win10版本2004 Build19041.423更新补丁KB4568831正式推送

    Win10版本2004 Build19041.423更新补丁KB4568831正式推送攻略 Win10版本2004 Build19041.423更新补丁KB4568831是微软最新推送的补丁,旨在修复一些系统漏洞和提升系统性能。本攻略将详细介绍如何安装和应用该补丁。 步骤一:检查系统版本 首先,确保你的系统版本是Win10版本2004 Build19041.…

    other 2023年8月3日
    00
  • 64位系统天正打开找不到cad的原因分析及解决方法

    64位系统天正打开找不到CAD的原因分析及解决方法攻略 原因分析 当在64位系统上使用天正软件打开CAD时,可能会遇到找不到CAD的问题。这可能是由以下原因引起的: CAD软件未正确安装:在64位系统上安装CAD软件时,可能会出现错误或不完整的安装过程,导致软件无法正常运行。 系统环境变量配置错误:CAD软件通常需要正确配置系统环境变量才能正常运行。如果环境…

    other 2023年7月28日
    00
  • ubuntu中ipconfig命令找不到

    以下是“ubuntu中ipconfig命令找不到”的完整攻略: ubuntu中ipconfig命令找不到 在Ubuntu中,ipconfig命令是Windows中的命令,用于显示网络配置。在Ubuntu中,我们需要使用ifconfig命令来显示网络配置信息。以下是解决ipconfig命令找不到的步骤: 1. 使用ifconfig命令 在Ubuntu中,我们可…

    other 2023年5月7日
    00
  • python基于递归解决背包问题详解

    Python基于递归解决背包问题详解 背景介绍 背包问题是指在给定容量和一系列物品的情况下,选择一些物品装入背包使其价值最高或重量最轻。该问题的解法应该是在不超过背包容量的情况下,使得背包中物品总价值最大。 例如,有一个容量为10kg的背包,其中有以下三种物品: 物品 重量(kg) 价值(元) 物品1 2 6 物品2 2 3 物品3 6 5 如何选择物品放入…

    other 2023年6月27日
    00
  • midori浏览器

    以下是“Midori浏览器”的完整攻略: Midori浏览器 Midori是一款轻量级的开源Web浏览器,它专注于提供快速简单和易于使用的浏览体验。以下是Midori浏览器的详细步骤: 1. 下载和安装Midori浏览器 首先,您需要下载和安装Midori览器。您可以在Midori官方网站上找到最新版本的Midori浏览器,并根据您的操作系统下载相应的版本。…

    other 2023年5月7日
    00
  • 任务管理器用户名不能显示解决方法

    当我们在打开Windows操作系统的任务管理器时,发现用户名栏位无法显示的情况,可能是由于以下几种情况导致的:系统故障、用户账户被禁用或混淆和注册表错误,针对不同情况,我们都可以采取相应的解决方法。 下面,我将详细讲解“任务管理器用户名不能显示解决方法”的完整攻略。 步骤一:检查任务管理器是否被损坏 在Windows系统的桌面上,点击右键,选择“任务管理器”…

    other 2023年6月27日
    00
  • Adobe Animate CC2019怎么安装激活?

    接下来我将为您提供Adobe Animate CC2019安装及激活的完整攻略。 安装Adobe Animate CC2019 第一步:下载Adobe Animate CC2019安装包 你可以通过Adobe官方网站或者其他官方渠道下载安装包。在这里我以官网为例,提供安装包下载地址:https://www.adobe.com/products/animate…

    other 2023年6月27日
    00
合作推广
合作推广
分享本页
返回顶部