广告
返回顶部
首页 > 资讯 > 精选 >Java中有哪些修饰符关键词
  • 230
分享到

Java中有哪些修饰符关键词

2023-06-17 06:06:49 230人浏览 安东尼
摘要

这篇文章给大家介绍Java中有哪些修饰符关键词,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。Java修饰符是你添加到变量、类和方法以改变其含义的关键词。它们可分为两组:访问控制修饰符非访问修饰符让我们先来看看访问控制修

这篇文章给大家介绍Java中有哪些修饰符关键词,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

Java修饰符是你添加到变量、类和方法以改变其含义的关键词。它们可分为两组:

  1. 访问控制修饰符

  2. 非访问修饰符

让我们先来看看访问控制修饰符,以及如何使用它们的一些代码示例。

修饰符

说明

public

公共可见

private

类可见

protected

包和所有的子类可见

那么如何使用这三种访问控制修饰符呢?请看下面两个类。请忽略此处代码的低效,因为这是教程

创建一个名为project/mypackage/Person.java文件,并添加以下代码:

package mypackage; class Person {     private String firstname;     private String lastname;     protected void setFirstname(String firstname) {         this.firstname = firstname;     }     protected void setLastname(String lastname) {         this.lastname = lastname;     }     protected String getFirstname() {         return this.firstname;     }     protected String getLastname() {         return this.lastname;     } }

上面的Person类有private变量和protected方法。这意味着这些变量将只能从类访问,方法将只能从mypackage包访问。

接下来创建一个名为project/mypackage/Company.java的文件,并添加以下代码:

package mypackage; import java.util.*; public class Company {     private ArrayList<Person> people;     public Company() {         this.people = new ArrayList<Person>();     }     public void addPerson(String firstname, String lastname) {         Person p = new Person();         p.setFirstname(firstname);         p.setLastname(lastname);         this.people.add(p);     }     public void printPeople() {         for(int i = 0; i < this.people.size(); i++) {             System.out.println(this.people.get(i).getFirstname() + " " + this.people.get(i).getLastname());         }     } }

上面的类是公共的,因此它可以从包内部和外部的任何类进行访问。它有一个只能在类内访问的私有变量,以及一堆的公共方法。由于Person类和Company类共享相同的包,所以Company类可以访问Person类以及所有它的方法。

为了完成访问控制修饰符的示范,让我们在一个新的project/MainDriver.java文件中创建一个驱动程序类:

import mypackage.*; public class MainDriver {     public static void main(String[] args) {         Company c = new Company();         c.addPerson("Nic", "Raboy");         c.printPeople();         Person p = new Person();         p.setFirstname("Maria");         p.setLastname("Campos");     } }

请记住,由于Company类是公共的,所以我们在添加和打印人的时候没有问题。然而,由于Person类是受保护的,所以我们会得到一个编译时错误,因为MainDriver不是mypackage包的一部分。

现在,让我们来看看现有的非访问修饰符,以及如何使用它们的一些示例代码。

修饰符

说明

static

用于创建类、方法和变量

final

用于最终确定类、变量和方法的实施方式

abstract

用于创建抽象方法和类

synchronized

用于多线程的同步机制对资源进行加,使得在同一个时间,只有一个线程可以进行操作

Volatile

一个变量声明为volatile,就意味着这个变量是随时会被其他线程修改的,因此不能将它cache在线程memory中。

那么如何使用这五个非访问修饰符呢?

Java中static修饰符的一个很好的例子就是:

int max = Integer.MAX_VALUE
int numeric = Integer.parseInt("1234");

在上面的例子中,请注意我们利用了Integer类中变量和方法,而不是先实例化。这是因为那些特定的方法和变量都是静态的。

abstract修饰符则略有不同。你可以创建一个带方法的类,但它们基本只能定义。你不能对它们添加逻辑。例如:

abstract class Shape {     abstract int getArea(int width, int height); }

然后在子类里,你才可以增加例如下面这样的代码:

class Rectangle extends Shape {     int getArea(int width, int height) {         return width * height;     } }

下面要讲讲synchronizedvolatile修饰符。

先来看一个线程的例子,在这个例子里我们将从两个不同的线程去访问相同的方法:

import java.lang.*; public class ThreadExample {     public static void main(String[] args) {         Thread thread1 = new Thread(new Runnable() {             public void run() {                 print("THREAD 1");             }         });         Thread thread2 = new Thread(new Runnable() {             public void run() {                 print("THREAD 2");             }         });         thread1.start();         thread2.start();     }     public static void print(String s) {         for(int i = 0; i < 5; i++) {             System.out.println(s + ": " + i);         }     } }

运行上述代码将输出打印一个随机的顺序。可能是连续的,也可能不连续,取决于CPU。然而,如果我们使用synchronized修饰符,那么***个线程必须在第二个线程开始打印之前完成。print(String s)方法可以是这样的:

public static synchronized void print(String s) {     for(int i = 0; i < 5; i++) {         System.out.println(s + ": " + i);     } }

接下来,让我们看看使用volatile 修饰符的例子:

import java.lang.*; public class ThreadExample {     public static volatile boolean isActive;     public static void main(String[] args) {         isActive = true;         Thread thread1 = new Thread(new Runnable() {             public void run() {                 while(true) {                     if(isActive) {                         System.out.println("THREAD 1");                         isActive = false;                     }                 }             }         });         Thread thread2 = new Thread(new Runnable() {             public void run() {                 while(true) {                     if(!isActive) {                         System.out.println("THREAD 2");                         try {                             Thread.sleep(100);                         } catch (Exception e) {                         }                         isActive = true;                     }                 }             }         });         thread1.start();         thread2.start();     } }

关于Java中有哪些修饰符关键词就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

--结束END--

本文标题: Java中有哪些修饰符关键词

本文链接: https://www.lsjlt.com/news/287425.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Java中有哪些修饰符关键词
    这篇文章给大家介绍Java中有哪些修饰符关键词,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。Java修饰符是你添加到变量、类和方法以改变其含义的关键词。它们可分为两组:访问控制修饰符非访问修饰符让我们先来看看访问控制修...
    99+
    2023-06-17
  • SQLServer中有哪些比较运算符修饰词
    这期内容当中小编将会给大家带来有关SQLServer中有哪些比较运算符修饰词,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。SQLServer中有三个关键字可以修改比较运算...
    99+
    2022-10-18
  • java修饰符有哪些
    java中的修饰符有:1.abstract,修饰类和方法;2.static,修饰成员变量和成员方法;3.final,修饰类、变量和方法;java中的修饰符有以下几种abstractjava中abstract修饰符的作用是用于修饰类和方法,修...
    99+
    2022-10-05
  • Java的修饰符有哪些
    小编给大家分享一下Java的修饰符有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Java 修饰符Java语言提供了很多修饰符,主要分为两类:访问修饰符,非访...
    99+
    2023-06-02
  • Java中有哪些常用修饰符
    本篇文章为大家展示了Java中有哪些常用修饰符,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。一、abstract 抽象的抽象类:被abstract 修饰的类语法: abstrac...
    99+
    2023-06-15
  • java访问修饰符有哪些
    java中的访问修饰符有:1.public,没有指定成员访问的修饰符;2.protec,只允许指定成员的进行访问的修饰符;3.default,不加任何访问限制的修饰符;4.private,只允私有成员进行访问的修饰符;java中的访问修饰符...
    99+
    2022-10-10
  • C#修饰符有哪些
    这篇文章主要介绍“C#修饰符有哪些”,在日常操作中,相信很多人在C#修饰符有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C#修饰符有哪些”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!本文向大家介绍C...
    99+
    2023-06-17
  • javascript词法关键字有哪些
    这篇文章主要讲解了“javascript词法关键字有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“javascript词法关键字有哪些”吧!javascript是一种解释型语言。 语言其...
    99+
    2023-06-04
  • java的非访问修饰符有哪些?
    Java提供了许多非访问修饰符来实现许多其他功能。static修饰符用于创建类方法和变量。 (推荐学习:java课程)final修饰符用于完成类,方法和变量的实现。abstract修饰符用于创建抽象类和方...
    99+
    2018-05-16
    java教程 java
  • 网站关键词有哪些表现
    本篇内容介绍了“网站关键词有哪些表现”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!对于网站的优化推广来说,成功的关键词分析会帮助网站做好一半...
    99+
    2023-06-10
  • vue中有哪些事件修饰符
    vue中常见的事件修饰符有:1.stop修饰符,阻止事件向上级DOM元素传递;2.once修饰符,设置事件只能触发一次;3.prevent修饰符,阻止默认事件的发生;4.self修饰符,将事件绑定到自身,只有自身才能触发;vue中常见的事件...
    99+
    2022-10-16
  • C#中有哪些访问修饰符
    本篇文章为大家展示了C#中有哪些访问修饰符,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。C#访问修饰符C#访问修饰符与 Java 大致相同,我们将在这一部分介绍其中的一些细微差别。每个类成员或类本身...
    99+
    2023-06-17
  • java权限修饰符的种类有哪些
    Java权限修饰符有四种,分别是: public:公共的,可以被任何其他类访问。 private:私有的,只能在定义该变量或方法的...
    99+
    2023-10-25
    java
  • 关键词优化的技巧有哪些
    本篇文章为大家展示了关键词优化的技巧有哪些,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。  1、关键词的拆分机制。  谈到关键词拆分,做SEO的朋友都不会陌生,就用“武汉做网站”来说,可以拆分成“做...
    99+
    2023-06-10
  • Scala访问修饰符有哪些
    本篇内容介绍了“Scala访问修饰符有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Scala 访问修饰符基本和Java的一样,分别有:...
    99+
    2023-06-19
  • vue表单修饰符有哪些
    vue中的表单修饰符有:1.lazy,将输入框的值与数据转变在change事件中同步;2.number,将输入框内的字符串转换成数字;3.trim,将输入框内中前后的空格去掉;vue中的表单修饰符有以下几种lazy修饰符vue中lazy修饰...
    99+
    2022-10-22
  • vue中常用的修饰符有哪些
    vue中常用的修饰符有:lazy,在光标离开input框才更新数据。trim,输入框过滤首尾的空格。number,限制输入只能是数字。stop,阻止事件冒泡。prevent,阻止默认行为。self,只有点击元素本身才会触发。once,让事件...
    99+
    2022-10-20
  • java项目中修饰符的访问权限有哪些
    这篇文章给大家介绍java项目中修饰符的访问权限有哪些,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。Java有四种访问权限,其中三种有访问权限修饰符,分别为private,public和protected,还有一种不带...
    99+
    2023-05-31
    java 修饰符 访问权限
  • 在vue中有什么按键修饰符
    这篇文章主要介绍了在vue中有什么按键修饰符,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 vue中的按键修饰符...
    99+
    2022-10-19
  • Vue修饰符的问题有哪些
    本文小编为大家详细介绍“Vue修饰符的问题有哪些”,内容详细,步骤清晰,细节处理妥当,希望这篇“Vue修饰符的问题有哪些”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。1.lazy...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作