java 类访问权限

Java有四种访问权限, 其中三种有访问权限修饰符,分别为private,public和protected,还有一种不带任何修饰符。

  1. private: Java语言中对访问权限限制的最窄的修饰符,一般称之为“私有的”。被其修饰的类、属性以及方法只能被该类的对象访问,其子类不能访问,更不能允许跨包访问。
  2. default:即不加任何访问修饰符,通常称为“默认访问模式“。该模式下,只允许在同一个包中进行访问。
  3. protect: 介于public 和 private 之间的一种访问修饰符,一般称之为“保护形”。被其修饰的类、属性以及方法只能被类本身的方法及子类访问,即使子类在不同的包中也可以访问。
  4. public: Java语言中访问限制最宽的修饰符,一般称之为“公共的”。被其修饰的类、属性以及方法不仅可以跨类访问,而且允许跨包(package)访问。

下面用表格的形式来展示四种访问权限之间的异同点,这样会更加形象。表格如下所示:

 
同一个类


同一个包


不同包的子类


不同包的非子类


Private


     

Default



   

Protected




 

Public





时间: 2024-10-25 23:43:44

java 类访问权限的相关文章

java:访问权限

访问权限四大类:权限从大->小 1.public:   公共权限 2.protected:  受保护权限 3.default: 包级别访问权限/默认权限 4.private:   私有权限 以public为例,使用方法如下: public class Test{ public int i; public void fun(){ } } public ->在同一个包或不同的包中的类可以自由访问. 可以修饰类.成员变量和成员函数 Test.java class Test { public stat

Java类方法访问权限

1.权限解析 Java有四种访问权限, 其中三种有访问权限修饰符,分别为private,public和protected,还有一种不带任何修饰符. private: Java语言中对访问权限限制的最窄的修饰符,一般称之为“私有的”.被其修饰的类.属性以及方法只能被该类的对象访问,其子类不能访问,更不能允许跨包访问. default:即不加任何访问修饰符,通常称为“默认访问模式“.该模式下,只允许在同一个包中进行访问. protect: 介于public 和 private 之间的一种访问修饰符,

java的访问权限

java有4种访问权限,3种访问权限修饰符:public,protected,private,还有一个不带任何修饰符.默认的default. 下面从本类,同包,(其他包)子类,其他包(非子类)这四个方面来对比: public:公共的,权限最大的访问修饰符,被修饰的类.属性.方法可以跨类跨包访问: protected:受保护的,不可以修饰类,可以修饰属性和方法,被修饰的属性和方法能被同一包里的类访问(可以在本类.同包中访问),也能被该类的子类访问,即使父类和子类不在同一个包中: default:默

Java之访问权限控制符以及结合继承体系引发的注意事项

访问修饰符的作用域: private:可以定义方法或者属性,定义的方法和属性不能被外部的类所访问(包括子类). default:可以在本包中的任意地方访问. protected:保护,不同包中的非子类不能访问.(能访问的成员包括相同包以及该类的任意子类) public:公共的,都可以访问,不受任何限制. Java继承&访问修饰符结合使用引发的大混乱 1.子类重载方法的权限是否允许小于父类定义?其中,private<default<public 不允许,注:Java中允许Parent  

java中访问权限修饰符解析

访问权限控制修饰符:public protected 默认(default) private this static super final abstract 其中abstract这个修饰符脾气很大,这个修饰符不能与static private final共存对于final,表示最终,final修饰变量,那么这个变量第一次被赋值后,就不能被再次赋值,也可以把它理解为常量,注意内存空间里面的常量池...这是方法区里面一块特殊的内存空间...final修饰类,表示这个类是最终类,也就是说,不能有子类

[think in java] 知识点-访问权限控制

在java中,数组是以引用的形式传递的. 如果没有定义toString()方法的话,打印行为打印的是类的名字和对象的地址.  如:[email protected] 每个编译单元内只能有一个public类.虽然不常用,当编译单元内完全不带public类也是可能的.在这种情况下,可以随意对文件命名. 在java中,如果使用package语句,它必须是注释以外的第一句程序. 如果不提供任何访问权限,则意味者它是"包访问权限".默认访问权限没有任何关键字,但通常是指"包访问权限&q

java中访问权限修饰符

java中的访问权限修饰符共有四种,分别为private.default.protected.public,它们的访问权限依次升高,private只能被本类所调用,default(不写的话默认为default)可以被同一个包下的所有类所调用,protected既可以被同一个包下的所有类所调用,也能被不同包下的子类所调用(即必须要有继承关系),而public则为公开的,项目下所有包的所有类都可进行调用. 代码测试如下: , 经测试结果如下: 除private类报错外,其余各访问权限修饰词均在本包其

Thinking in java Chapter6 访问权限控制

访问权限控制的等级,从最大权限到最小权限:public proteced 包访问权限 private 6.1 包:库单元 public class FullQualification { public static void main(String[] args) { java.util.ArrayList list = new java.util.ArrayList<>(); } } import java.util.ArrayList; public class SingleImport

本地java类访问websphere的JNDI

# 问题1.获取数据源时报错 # javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet  # 代码:dataSource=(DataSource)envCtx.lookup("jdbc/admin");  # 原因:本地测试如果要访问远程的JNDI资源,就必须用饱含JNDI环境参数Hashtable初始化I