java-权限修饰符的区别】的更多相关文章

Java应用有很多类,但有些类并不希望被其他类使用.每个类中都有数据成员和方法成员,但是并不是每个数据和方法,都允许在其他类中调用.如何能做到访问控制呢?就需要使用访问权限修饰符. Java语言中的访问权限修饰符有4种,但是仅有3个关键字,因为不写访问权限,在Java中被称为默认权限,或同包权限,本文中以(default)代替.下面 按照权限从小到大的顺序对4中访问权限分别介绍: (1)私有权限 private:private可以修饰数据成员,构造方法,方法成员,不能修饰类(此处指外部类,不考虑…
private/默认/protected/public权限修饰符和面向对象的三大特性的封装性有着密切关系.它们都可以修饰类的成员,其中的默认和public还可以修饰类. 类的成员包括:成员变量.成员方法.构造方法.内部类.代码块. 其中: public:修饰类可以被同一项目所有包中的所有类访问(类可见性). 默认:可被同一包中的类访问(包可见性). 小结: 1.内部类属于类的成员,可以使用以上四个修饰符修饰,这一点和类不同. 2.如何使用:类的属性一般使用private修饰,可以通过public…
四种权限修饰符的测试 /* 权限修饰符: 本类 同一个包下(子类和无关类) 不同包下(子类) 不同包下(无关类) private Y 默认 Y Y protected Y Y Y public Y Y Y Y */ package com.liuyi; public class Father { private void show() { System.out.println("show"); } void show2() { System.out.println("show…
java权限修饰符piublic.protected.private.置于类的成员定义前,用来限定对象对该类成员的访问权限. 修饰符 类内部 同一个包 子类 任何地方 private yes       (缺省) yes yes     protected yes yes yes   public yes yes yes yes 对于class的权限修饰符,只可以使用public和缺省: public类可以在任何地方被访问: default类只能被同一个包内部使用:…
package cn.learn.Final; /* 当final用来修饰类 1.该类不能有任何子类,成员方法均无法覆盖重写,但可以重写父类的方法 当final用来修饰方法 1.该方法不能被覆盖重写 2.但不能和 abstract 同时使用,抽象方法没有方法体,矛盾 当final用来修饰局部变量 1.该变量不可改变,一次赋值终生不变 注:对于基本类型来说,数值不可改变 对于引用类型来说地址值不可改变, eg :final Phone myPhone = Phone("apple") m…
1.public 可以修饰类.成员变量和成员函数,没有任何限制,同一个包中,或者不同包中的类都可以自由访问 2.private 可以修饰成员变量和成员函数,只能在本类中使用 3.default (不写权限修饰符,就是default权限)可以修饰类.成员变量和成员函数,在同一个包中,可以自由访问.如果子类和父类不在同一个包中,子类可以继承到父类中的default权限的成员变量和成员函数,但是由于权限不够,无法使用 4.protected protected权限首先拥有和default一样的功能,但…
总的概括:public > protected > (default) > private 细分见下表格: 权限修饰符 public protected (default) private 同一个类(我自己) YES YES YES YES 同一个包(我邻居) YES YES YES NO 不同包子类(我儿子) YES YES NO NO 不同包非子类(陌生人) YES NO NO NO [注意:(default)不是关键字"default",而是什么都不写.]…
首先声明:Java中,friendly这个修饰符并没有显式的声明,在成员变量和方法前什么修饰符也不用,默认的就是friendly.为了条理清晰,分三种不同情况来总结. 一 访问权限修饰符修饰成员变量和方法   public:表明该成员变量和方法是共有的,能在任何情况下被访问.      protected:必须在同一包中才能被访问.(说的比较简单,看个例子就明白了)           eg:class A          {             protected int weight…
以前对访问修饰符总是模棱两可,让自己仔细解释也是经常说不很清楚.这次要彻底的搞清楚. 现在总结如下: 一.概括总结 各个访问修饰符对不同包及其子类,非子类的访问权限 Java访问权限修饰符包含四个:public,protected,friendly,private:但是,friendly在java中并没有显示的声明,成员变量和方法默认情况下就是friendly权限. 现在把它们的访问权限表示出来:(目前展示访问修饰符的方式主要有两种) 表示图一:(第一种展示方式,把不同的类文件分为两个变量,"是…
一.是哪四种访问权限修饰符呢? public > protected > [default] > private (公共的 ) (受保护的) (默认的) (私有的) 二.简单认识四种访问修饰符 1.public权限修饰符 public--可以修饰类,方法,构造方法,接口,方法成员. 被public修饰的成员,可以在任何一个类中被调用,不管同包或不同包,是权限最大的一个修饰符. 如果几个相互访问的 public 类分布在不同的包中,则需要导入相应 public 类所在的包. 由于类的继承性…
首先了解概念: 在java中有四种权限修饰符:范围从大到小分别是:public.protect.default(friendly).private,它们之间的区别是: public: Java语言中访问限制最宽的修饰符,一般称之为“公共的”.被其修饰的类.属性以及方法不仅可以跨类访问,而且允许跨包(package)访问. protect: 介于public 和 private 之间的一种访问修饰符,一般称之为“保护形”.被其修饰的类.属性以及方法只能被类本身的方法及子类访问,即使子类在不同的包中…
java中四种权限修饰符, 平时编码中最常用的其实public和private, 虽然对protected的概念一直都知道, 但真正使用时才发现有些偏差. protected表示被其修饰的成员可以被本类, 同包下的所有类, 以及本类的所有子类所访问. 被本类的所有子类访问很容易让人产生误解, 我在进行测试时, 第一反应就是在不同包下创建一个子类, 在main方法中new一个父类对象, 试图通过该对象.成员变量名 来调用protected的成员变量, 然而, 结果是------>编译出错  0.0…
1.Java有三种访问权限修饰符,分别为public.protected.private,还有一种为缺省权限修饰符的情况,记为default.其中,可以由public和default来修饰类:这四种修饰符都可以修饰成员变量和成员方法.每一种修饰符对应不同的访问范围,下面以下图为例详细说明. 图1 private只可以覆盖圆1,即只有本类可以访问: default可以覆盖到圆3,即本类.同包子类.同包其他类都可以访问,简单说就是与本类同包的所有类都可以访问: protected可以覆盖到圆4,即本…
作用域 当前类 同一package 子孙类 其他package public √ √ √ √ protected √ √ √ × friendly √ √ × × private √ × × × java访问权限修饰符 不写时默认为friendly…
Java中,可以使用访问控制符来保护对类.变量.方法和构造方法的访问.Java 支持 4 种不同的访问权限. default (即缺省,什么也不写): 在同一包内可见,不使用任何修饰符.使用对象:类.接口.变量.方法. private : 在同一类内可见.使用对象:变量.方法. 注意:不能修饰类(外部类) public : 对所有类可见.使用对象:类.接口.变量.方法 protected : 对同一包内的类和所有子类可见.使用对象:变量.方法. 注意:不能修饰类(外部类). 1.如果一个类的成员…
java中的修饰符分类: 权限修饰符: private, default, protected, public 状态修饰符: static, final 抽象修饰符: abstract 权限修饰符 我们来看看四种权限修饰符的权限大小 (注意:没有default这个关键字,它就是代表默认的意思,即什么修饰符也不加) 一般,默认的可见性就是包可见性(package visibility) 1. public修饰符 具有最大的访问权限,可以访问任何一个CLASSPATH下的类,接口.异常等.它往往对于…
2017-11-04 22:28:39 访问权限修饰符的权限 访问修饰符protected的权限理解 在Core Java中有这样一段话“在Object类中,clone方法被声明为protected,因此无法直接调用anObject.clone().子类只能直接调用受保护的clone方法克隆它自己.为此,必须重新定义clone方法,并将它声明为public,这样才能让所有的方法克隆对象”.但是不是所有的子类都可以访问受保护的方法吗?不是每个子类都是Object的之类吗?下面就用例子来说明下pro…
java中四个访问权限修饰符: public(公开的).protected(受保护的).default(默认的).private(私有的). 它们决定了紧跟其后被定义的东西的使用范围. 适用范围<访问权限范围越小,安全性越高>  访问权限   类   包  子类  其他包   public     ∨   ∨    ∨     ∨          (对任何人都是可用的)  protect    ∨   ∨   ∨     × (同一个包内其他类和继承的类可以访问)  default    ∨…
注:本博文是转载的,原文地址:http://blog.csdn.net/xk632172748/article/details/51755438 Java中修饰符总结: 访问控制修饰符 访问控制修饰符 作用: 用于控制被修饰变量.方法.类的可见范围. public的访问级别是最高的,其次是protected.默认和private. 成员变量和成员方法可以处于4个访问级别中的一个:公开.受保护.默认或私有. 存在继承关系时,父类不可以是private,因为子类无法继承 顶层类可以处于公开或默认级别…
1.关键字:this,static,package,importthis:1.表示对当前对象的引用!2.表示用类的成员变量,而非函数参数,注意在函数参数和成员变量同名是进行区分!其实这是第一种用法的特例,比较常用,所以那出来强调一下.3.用于在构造方法中引用满足指定参数类型的构造器(其实也就是构造方法).但是这里必须非常注意:只能引用一个构造方法且必须位于开始!还有就是注意:this不能用在static方法中!所以甚至有人给static方法的定义就是:没有this的方法!虽然夸张,但是却充分说明…
1.形式参数和返回值的问题 (1)形式参数: A:类名:需要该类的对象 B:抽象类名:需要改类的子类对象 C:接口名:需要该接口的实现对象 (2)返回值类型: A:类名:抽象类名:返回的是该类的对象 B:抽象类名:返回的是该类的子类对象 C:接口名:返回的是该接口的实现类对象 (3)链式编程 每次调用完毕方法后,返回的是一个对象 2.包 (1)其实就是文件夹   (2)作用: A:区分同名的类 B:对类进行分类管理 ①按照功能分 ②按照模块分 (3)包的定义: ①package 包名; ②多级包…
java异常体系 异常的体系: 异常体系: --------| Throwable 所有错误或者异常的父类 --------------| Error(错误) --------------| Exception(异常) 异常一般都通过代码处理 --------------------| 运行时异常: 如果一个方法内部抛出了一个运行时异常,那么方法上 可以声明也可以不 声明,调用者可以以处理也可以不处理. --------------------| 编译时异常(非运行时异常.受检异常): 如果一个…
一.final关键字 为什么要使用 final 关键字? 通过继承我们知道,子类可以重写父类的成员变量和方法.final 关键字可以用于修饰父类,父类成员变量和方法,使其内容不可以被更改. 1.被修饰的类,不能被继承.但是其成员变量和方法如果未被final修饰,仍然可以被修改. //final修饰类 final class Finally1 { private int a = 1; public int getA(){ return this.a; } public int setA(int a…
一.import 1.import语句用来完成导入其他类,同一个包下的类不需要再导入 不在同一个包下需要手动导入. 2.import语法格式 import 类名: import 包名.*; //import语句需要编写到package语句之下,class语句之上. 3.java.lang.*;不需要手动引入,​系统自动引入. lang:language语言包,是java语言的核心类,不需要手动引入. 4.最终结论​: 什么时候需要import? 使用外部类,外部方法 5.快捷键 快速导包,我们用…
四种权限修饰符 Java中有四种权限修饰符 public > protected > (default) >private 同一个类(我自己) YES YES YES YES同一个包(我儿子) YES YES YES NO不同包子类(我邻居)YES YES NO NO不同包非子类(陌生人)YES NO NO NO 注意事项:(default)并不是关键字“default”,而是根本不写 { public int num = 37; protected int num = 37; int…
/** * Java有四种权限修饰符: * public > protected > (default) > private * 同一个类 YES YES YES YES * 同一个包 YES YES YES NO * 不同包子类 YES YES NO NO * 不同包非子类 YES NO NO NO * * 注意:(default)并不是关键字default,而是什么都不写. */…
一.权限修饰符 1.概述 在 Java 中提供了四种访问权限,使用不同的访问权限修饰符修饰时,被修饰的内容会有不同的访问权限: public:公共的: protected:受保护的: default:默认的: private:私有的: 2.不同权限的访问能力 可见,public 具有最大权限,private 则是最小权限. (1)权限修饰符可以修饰什么?   类(类.接口等).属性.方法.构造器.内部类 修饰类(外部类):public 和 缺省 修饰属性:  4种都可以 修饰方法:  4种都可以…
1.类的权限修饰符default(不写权限修饰符),public 说明:类的权限修饰符只有default(不写权限修饰符)和public.   package world default Y N public Y Y 注意事项:(default)并不是关键字“default”,而是根本不写. 2.成员变量的权限修饰符private,default(不写权限修饰符),protected,public   class package subclass world private Y N N N de…
Java当中权限修饰符共有四种.分别是public.protected.(default).private. 注:YSE代表可访问,NO代表不可访问.   同一个类 同一个包,非继承 不同的包,有继承 不同包,非子类 public YES YES YES YES protected YES YES YES NO (default) YES YES NO NO private YES NO NO NO…