`

Java 语言的类、属性、方法各有哪些修饰符?简述各修饰符的使用条件

    博客分类:
  • java
阅读更多

1、 类的修饰符分为:可访问控制符和非访问控制符两种。

可访问控制符是:公共类修饰符 public

非访问控制符有:抽象类修饰符 abstract ;最终类修饰符 final

      1、公共类修饰符 public : Java 语言中类 的可访问控制符只有一个: public 即公共的。每个 Java 程序的主类都必须是 public 类作为公共工具供其它类和程序使用的应定义为 public 类。

      2 、抽象类修饰符 abstract :凡是用 abstract 修饰符修饰的类,被称为抽象类。所谓抽象类是指这种类没有具体对象的一种概念类。这样的类就是 Java 语言的 abstract 类。

      3、最终类修饰符 final :当一个类不可能有子类时可用修饰符 final 把它说明为最终类。被定义为 final 的类通常是一些有固定作用、用来完成某种标准功能的类。

      4、类缺省访问控制符:如果一个类没有访问控制符,说明它具有缺省的访问控制符特性。此时,这个类只能被同一个包中的类访问或引用。这一访问特性又称为包访问性。

 

 

2 、属性的控制修饰符也分为:可访问控制符和非访问控制符两类。

可访问控制符有 4 种:公共访问控制符: public ;私有访问控制符: private ;保护访问控制符: protected ;私有保护访问控制符: private protected

非访问控制符有 4 种:静态域修饰符: static ;最终域修饰符: final ;易失 ( 共享 ) 域修饰符: volatile ;暂时性域修饰符: transient

      1、公共访问控制符 public :用 public 修饰的域称为公共域。如果公共域属于一个公共类,则可以被所有其它类所引用。由于 public 修饰符会降低运行的安全性和数据的封装性,所以一般应减少 public 域的使用。

      2、私有访问控制符 private : 用 private 修饰的成员变量 ( 域 ) 只能被该类自身所访问,而不能被任何其它类 ( 包括子类 ) 所引用。

      3、保护访问控制符 protected :用 protected 修饰的成员变量可以被三种类所引用:①该类自身;②与它在同一个包中的其它类;③在其它包中的该类的子类。使用修饰符 protected 的主要作用是允许其它包中它的子类来访问父类的特定属性。

      4、私有保护访问控制符 private protected :用修饰符 private protected 修饰的成员变量可以被该类本身或该类的子类两种类访问和引用。

      5、静态域修饰符 static :用 static 修饰的成员变量仅属于类的变量,而不属于任何一个具体的对象,静态成员变量的值是保存在类的内存区域的公共存储单元,而不是保存在某一个对象的内存区间。 任何一个类的对象访问它时取到的都是相同的数据;任何一个类的对象修改它时 , 也都是对同一个内存单元进行操作。

      6、最终域修饰符 final :最终域修饰符 final 是用来定义符号常量的。一个类的域 ( 成员变量 ) 如果被修饰符 final 说明,则它的取值在程序的整个执行过程中都是不变的。

      7、易失 ( 共享 ) 域修饰符 volatile :易失 ( 共享 ) 域修饰符 volatile 是用来说明这个成员变量可能被几个线程所控制和修改。也就是说在程序运行过程中,这个成员变量有可能被其它的程序影响或改变它的取值。因此,在使用中要注 意这种成员变量取值的变化。通常 volatile 用来修饰接受外部输入的域。

      8、暂时性域修饰符 transient :暂时性域修饰符 transient 用来定义一个暂时性变量。其特点是:用修饰符 transient 限定的暂时性变量,将指定 Java 虚拟机认定该暂时性变量不属于永久状态,以实现不同对象的存档功能。否则,类中所有变量都是对象的永久状态的一部分,存储对象时必须同时保存这些变量。

 

 

3 、方法的控制修饰符也分为:可访问控制符和非访问控制符两类。

可访问控制符有 4 种:公共访问控制符: public ;私有访问控制符: private ;保护访问控制符: protected ;私有保护访问控制符: private protected

非访问控制符有 5 种:抽象方法控制符: abstract ;静态方法控制符: static ;最终方法控制符: final ;本地方法控制符: native ;同步方法控制符: synchronized

      1、抽象方法控制符 abstract :用修饰符 abstract 修饰的方法称为抽象方法。抽象方法是一种仅有方法头,没有方法体和操作实现的一种方法。

      2、静态方法控制符 static :用修饰符 static 修饰的方法称为静态方法。静态方法是属于整个类的类方法;而不使用 static 修饰、限定的方法是属于某个具体类对象的方法。 由于 static 方法是属于整个类的,所以它不能操纵和处理属于某个对象的成员变量,而只能处理属于整个类的成员变量,即 static 方法只能处理 static 的域。

      3、最终方法控制符 final :用修饰符 final 修饰的方法称为最终方法。最终方法是功能和内部语句不能更改的方法,即最终方法不能重载。这样,就固定了这个方法所具有的功能和操作,防止当前类的子类对 父类关键方法的错误定义,保证了程序的安全性和正确性。所有被 private 修饰符限定为私有的方法,以及所有包含在 final 类 ( 最终类 ) 中的方法,都被认为是最终方法。

      4、本地方法控制符 native :用修饰符 native 修饰的方法称为本地方法。为了提高程序的运行速度,需要用其它的高级语言书写程序的方法体,那么该方法可定义为本地方法用修饰符 native 来修饰;

      5、同步方法控制符 synchronized :该修饰符主要用于多线程共存的程序中的协调和同步。

分享到:
评论
1 楼 NK_HansWang 2009-06-22  
博主你好,提个问题:你说的“私有保护访问控制符 private protected”这能通过编译吗?如果能,请赐教!

相关推荐

    JAVA中的方法重写与方法重载区别

    3. 访问修饰符的限制一定要大于被重写方法的访问修饰符(public>protected>default>private)。 方法重载(Overload)是指在类中可以创建多个方法,它们具有相同的名字,但具有不同的参数和不同的定义。调用方法时...

    Java的访问控制符

    java的访问控制符分为两类:类的访问控制符,属性和方法的访问控制符。  1. 类的访问控制符有两种:public, default(默认的,什么都不用写)  default是包内访问控制符。  当然对于内部类还可以有static修饰,...

    java语言设计讲义-ppt

    5. **封装**:解释如何通过访问修饰符来保护数据,以及方法的使用,实现信息隐藏。 6. **继承**:讨论如何通过一个类继承另一个类的属性和方法,以实现代码重用和类的层次结构。 7. **多态**:讲解多态的概念,...

    java2实用教程

    4.7 访问权限:解释了Java中的访问控制修饰符,包括private、public、protected等。 4.8 类的继承:讲解了如何创建子类、子类继承父类的特性以及方法重写。 4.9 对象的上转型对象:介绍了向上转型的概念以及相关的多...

    IT java 面试题库

    - **protected**: 受保护访问修饰符,被声明为protected的方法或属性可以被其自身类、同包下的其他类以及不同包下的子类访问。 3. **接口是否可继承接口?** - 是的,接口可以继承其他接口。这通常用于扩展接口的...

    java高级软件工程师面试题及答案

    访问修饰符是Java语言用于控制类、方法或变量访问权限的关键字。Java中的访问修饰符有:private(私有的,只在本类可见)、protected(受保护的,子类和同包类可见)、默认访问权限(仅同包内可见)和public(公开的...

    java反射机制原理和反射机制总结

    Java反射机制是Java编程语言中的一个强大特性,它允许程序在运行时检查和操作类、接口、字段以及方法等对象。这一机制的核心在于`java.lang.Class`类和相关的API,它们提供了对类元数据的访问,使得我们能够在运行时...

    java oop理论(继承)

    在Java中,权限修饰符控制了类、方法、变量等的可见性和可访问性。主要包括以下几种: - `private`: 只能在定义它的类内部访问。 - `default` (即不加任何修饰符): 也称为包私有,只在同一包内的类可以访问。 - `...

    Java面试宝典-经典

    抽象类中是否可以有静态的main方法? 15 21、写clone()方法时,通常都有一行代码,是什么? 15 22、面向对象的特征有哪些方面 15 23、java中实现多态的机制是什么? 17 24、abstract class和interface有什么区别? ...

    Java语言编码规范

    Java语言编码规范是Java开发中的重要组成部分,它旨在提高代码的可读性、可维护性和团队协作效率。遵循良好的编码规范能够确保代码的一致性,减少因理解不同开发者风格而产生的混淆,同时也有助于软件的长期管理和...

    java课后习题答案

    理解类与对象的关系,如何创建和实例化对象,以及如何使用访问修饰符来控制成员的访问权限至关重要。答案会演示如何正确地设计和使用类,并解释继承和多态在实际编程中的应用。 再者,Java集合框架是处理数据的重要...

    Java面试宝典2013_PDF版.pdf

    Java中有两种方法可以实现线程:继承Thread类和实现Runnable接口。关键字synchronized用于声明同步方法。不推荐使用stop()和suspend()方法是因为它们会导致死锁、资源不释放等问题。 47. sleep()和wait()有什么...

    Java基础知识点.html

    Date类 自动拆箱和自动装箱 Arrays 类和接口的关系 内部类 成员内部类 局部内部类 匿名内部类 抽象类 接口 多态 封装 类和对象 方法 StringBuilder类 String类 static for循环 final 权限修饰符 跳转控制语句 while...

    java面试题大全(2012版)

    抽象类中是否可以有静态的main方法? 15 21、写clone()方法时,通常都有一行代码,是什么? 15 22、面向对象的特征有哪些方面 15 23、java中实现多态的机制是什么? 17 24、abstract class和interface有什么区别? ...

    深圳各公司java面试题

    - `final`:修饰符,用于声明不可变的变量或类。 - `finally`:块,确保无论try-catch块中是否发生异常都会执行。 - `finalize`:方法,垃圾回收前调用,用于释放资源,但已被弃用。 **4. get()和load()的区别** 在...

    最新Java面试宝典pdf版

    抽象类中是否可以有静态的main方法? 15 21、写clone()方法时,通常都有一行代码,是什么? 15 22、面向对象的特征有哪些方面 15 23、java中实现多态的机制是什么? 17 24、abstract class和interface有什么区别? ...

    java程序设计语言PPT

    可能会讨论构造函数、方法、访问修饰符(public、private、protected)和this关键字。 3. **数组和集合框架**:介绍如何在Java中处理数据集合,包括一维和多维数组,以及ArrayList、LinkedList、HashSet、HashMap等...

    《JAVA语言》作业集答案.pdf

    题目与第一章除了重复的部分外,还可能涉及其他Java编程基础和面向对象的概念,如类、对象、接口、包、访问修饰符等。 总结来说,这份《JAVA语言》作业集答案涵盖了Java的基础语法、面向对象特性、内存管理、程序...

Global site tag (gtag.js) - Google Analytics