Java千百问_03基本语法(003)_public、privite、protected有什么区别

本文涉及的产品
访问控制,不限时长
简介:

public、privite、protected有什么区别

首先,public、privite、protected都是Java的修饰符,我们先看看Java修饰符是什么

1、java修饰符是什么

Java修饰符是用来修饰Java中的标识符(包括变量名方法名类名包名参数名等等)的,用来改变它们的含义的关键词。 Java语言有各种各样修饰符,大体分为两类:访问控制修饰符非访问控制修饰符。如图:
[java]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. public class className {  
  2.   private boolean myFlag;  
  3.   static final double weeks = 9.5;  
  4.   protected static final int BOXWIDTH = 42;  
  5.   public static void main(String[] arguments) {  
  6.   
  7.   }  
  8. }  

2、public、privite、protected的区别是什么

public、private、protected都属于访问控制修饰符,用来设置类,变量,方法和构造函数的访问级别,如果不加任何访问控制修饰符,则为default

public:

公共的。Java语言中访问限制最宽的修饰符,被其修饰的类、属性以及方法不仅可以跨类访问,而且允许跨包(package)访问。​

private:

私有的。Java语言中对访问权限限制的最窄的修饰符,被其修饰的类、属性以及方法只能被该类的对象访问,其子类不能访问,更不能允许跨包访问。

protected:

被保护的。介于public和private之间的一种访问修饰符。被其修饰的类、属性以及方法只能被类本身的方法及子类访问,即使子类在不同的包中也可以访问。

default:

默认的。即不加任何访问修饰符。该模式下,只允许在同一个包中进行访问。


3、非访问控制修饰符有哪些

出了访问控制符之外的,都归类为非访问控制修饰符,来实现很多其他的功能。

static:

用来修饰静态类、方法和变量。

final:

用来修饰不会被修改的方法和变量。

abstract:

用来修饰抽象类和方法。

synchronized:

表明一个方法或一段代码需要同步执行。

volatile:

修饰被不同线程访问和修改的变量,都会直接读取原值,而不会因编译器的优化而读取备份。


原文地址:http://blog.csdn.net/ooppookid/article/details/50983158

相关实践学习
消息队列+Serverless+Tablestore:实现高弹性的电商订单系统
基于消息队列以及函数计算,快速部署一个高弹性的商品订单系统,能够应对抢购场景下的高并发情况。
云安全基础课 - 访问控制概述
课程大纲 课程目标和内容介绍视频时长 访问控制概述视频时长 身份标识和认证技术视频时长 授权机制视频时长 访问控制的常见攻击视频时长
相关文章
|
29天前
|
Java 开发工具 Android开发
Kotlin语法笔记(26) -Kotlin 与 Java 共存(1)
本系列教程笔记详细讲解了Kotlin语法,适合需要深入了解Kotlin的开发者。若需快速学习Kotlin,建议查看“简洁”系列教程。本期重点介绍了Kotlin与Java的共存方式,包括属性、单例对象、默认参数方法、包方法、扩展方法以及内部类和成员的互操作性。通过这些内容,帮助你在项目中更好地结合使用这两种语言。
45 1
|
1月前
|
Java 开发工具 Android开发
Kotlin语法笔记(26) -Kotlin 与 Java 共存(1)
Kotlin语法笔记(26) -Kotlin 与 Java 共存(1)
32 2
|
3天前
|
存储 缓存 安全
java 中操作字符串都有哪些类,它们之间有什么区别
Java中操作字符串的类主要有String、StringBuilder和StringBuffer。String是不可变的,每次操作都会生成新对象;StringBuilder和StringBuffer都是可变的,但StringBuilder是非线程安全的,而StringBuffer是线程安全的,因此性能略低。
|
20天前
|
Java
Java代码解释++i和i++的五个主要区别
本文介绍了前缀递增(++i)和后缀递增(i++)的区别。两者在独立语句中无差异,但在赋值表达式中,i++ 返回原值,++i 返回新值;在复杂表达式中计算顺序不同;在循环中虽结果相同但使用方式有别。最后通过 `Counter` 类模拟了两者的内部实现原理。
Java代码解释++i和i++的五个主要区别
|
28天前
|
Java
通过Java代码解释成员变量(实例变量)和局部变量的区别
本文通过一个Java示例,详细解释了成员变量(实例变量)和局部变量的区别。成员变量属于类的一部分,每个对象有独立的副本;局部变量则在方法或代码块内部声明,作用范围仅限于此。示例代码展示了如何在类中声明和使用这两种变量。
|
29天前
|
Java 编译器 Android开发
Kotlin语法笔记(28) -Kotlin 与 Java 混编
本系列教程详细讲解了Kotlin语法,适合需要深入了解Kotlin的开发者。对于希望快速学习Kotlin的用户,推荐查看“简洁”系列教程。本文档重点介绍了Kotlin与Java混编的技巧,包括代码转换、类调用、ProGuard问题、Android library开发建议以及在Kotlin和Java之间互相调用的方法。
21 1
|
29天前
|
安全 Java 编译器
Kotlin语法笔记(27) -Kotlin 与 Java 共存(二)
本教程详细讲解Kotlin语法,适合希望深入了解Kotlin的开发者。若需快速入门,建议查阅“简洁”系列教程。本文重点探讨Kotlin与Java共存的高级话题,包括属性访问、空安全、泛型处理、同步机制及SAM转换等,助你在项目中逐步引入Kotlin。
20 1
|
1月前
|
Java 编译器 Android开发
Kotlin语法笔记(28) -Kotlin 与 Java 混编
Kotlin语法笔记(28) -Kotlin 与 Java 混编
25 2
|
1月前
|
安全 Java 编译器
Kotlin语法笔记(27) -Kotlin 与 Java 共存(二)
Kotlin语法笔记(27) -Kotlin 与 Java 共存(二)
29 0
|
7天前
|
Java 开发者
Java多线程编程中的常见误区与最佳实践####
本文深入剖析了Java多线程编程中开发者常遇到的几个典型误区,如对`start()`与`run()`方法的混淆使用、忽视线程安全问题、错误处理未同步的共享变量等,并针对这些问题提出了具体的解决方案和最佳实践。通过实例代码对比,直观展示了正确与错误的实现方式,旨在帮助读者构建更加健壮、高效的多线程应用程序。 ####
下一篇
无影云桌面