深入理解Java的protected修饰符】的更多相关文章

其实Java的protected修饰符,权限定义的很微妙,大致有以下几种: (1)protected控制符用于修饰方法和成员变量: (2)一个类的protected方法或成员变量,在包外是不能通过该类对象进行访问的,即便在该类的子类中也不可这么做: 在该类包外的子类中能访问的只是子类自己继承来的protected 方法和属性,即可以用super来访问: (3)在包外的子类中,不能用另外一个子类的对象访问父类中的protected变量,尽管这两个子类继承自同一个父类: (4)在包内,则可以: (5…
Protected类型可以在本包和子类中访问的含义.在本包中访问,顾名思义,可以在定义类的包中的任何地方申请一个包含protected修饰符的域和方法的类的对象,并通过这个对象访问被protected修饰的域和方法. 在子类中访问,也就是不论是不是在本类的包中,都可以在子类中调用这些被protected修饰的域和方法.调用的形式为super.XXX,其中XXX为超类的域或方法,但不能在子类中申请一个超类的对象变量并通过该变量调用超类中protected修饰的域和方法,如果这么做的话,假如超类和子…
以前对访问修饰符总是模棱两可,让自己仔细解释也是经常说不很清楚.这次要彻底的搞清楚. 现在总结如下: 一.概括总结 各个访问修饰符对不同包及其子类,非子类的访问权限 Java访问权限修饰符包含四个:public,protected,friendly,private:但是,friendly在java中并没有显示的声明,成员变量和方法默认情况下就是friendly权限. 现在把它们的访问权限表示出来:(目前展示访问修饰符的方式主要有两种) 表示图一:(第一种展示方式,把不同的类文件分为两个变量,"是…
1. 简介 对protected修饰符进行阐述,结合Object类的clone方法进行说明.其中clone方法如下:protected Object Object.clone(): 关于protected修饰符的访问权限如下: 子类与基类在同一包中:被声明为 protected 的变量.方法和构造器能被同一个包中的任何其他类访问: 子类与基类不在同一包中:那么在子类中,子类实例可以访问其从基类继承而来的 protected 方法,子类不能访问基类实例的protected方法. 2. 示例 2.1…
老是把Java中权限修饰符给忘记,写一个博客加深印象吧 权限分为四个作用域:当前类,同一个包,其他包的子类,其他包的类. 首先要知道包的概念,Java中一个包是指一个package下的所有文件. protected适用于修饰成员变量的,也就是类中的方法和属性,不能用于修饰类.子类B继承了父类A,如果父类class是缺省的,而子类class是public的,那么在其他包的类中,可以定义该子类B的对象,也可以调用父类A中的protected修饰的方法,但是不能在其它包中定义父类A的对象. packa…
java中的修饰符分为类修饰符,字段修饰符,方法修饰符. 根据功能的不同,主要分为以下几种. 1.权限访问修饰符  访问权限的控制常被称为具体实现的隐藏 把数据和方法包进类中,以及具体实现的隐藏,常共同被称为封装 访问控制(或隐藏具体实现)与“最初的实现并不恰当”有关 程序猿在修改和完善代码时,也有着巨大的压力.通常总会有一些消费者(或者客户端程序猿)需要你的代码在某些方面保持不变.因此你想改动代码,但是他们却想代码保持不变.所以就面对一个基本问题“如何把变动的事物和保持不变的事物区分开来” 所…
Java中各种修饰符与访问修饰符 类: 访问修饰符 修饰符 class 类名称 extends 父类名称 implement 接口名称 (访问修饰符与修饰符的位置可以互换) 访问修饰符 名称 说明 备注 public 可以被所有类访问(使用) public类必须定义在和类名相同的同名文件中 package 可以被同一个包中的类访问(使用) 默认的访问权限,可以省略此关键字,可以定义在和public类的同一个文件中 修饰符 名称 说明 备注 final 使用此修饰符的类不能够被继承 abstrac…
作用域 当前类 同一package 子孙类 其他package public √ √ √ √ protected √ √ √ × friendly √ √ × × private √ × × × java访问权限修饰符 不写时默认为friendly…
一.标识符 1.概念:标识符好比人和物的姓名,java中标识符就是类.对象.方法.变量.接口和自定义数据类型等等的名字. 2.规则: (1)首位不能是数字. (2)标识符对大小写敏感. (3)不可以是java中的关键字和保留字. (4)标识符字间不能有空格. (5)可由数字,字母和下划线(_),美元符号($)或人民币符号(¥)组成,中文也行,很国际化. (6)没有长度限制. (7)不能是true.false和null. 3.命名约定: (1)类和接口名:每个字的首字母大写,含有大小写.例如,My…
概论: java接口可以是public 的,也可以是friendly的,但一定是abstracted的. java接口里的方法只能是public的.abstract的. java接口里的成员变量只能是public 的,static 的,final的:并且必须赋初值,否则通不过编译. C++支持多重继承,如果两个父类有相同的成员变量,处理起来比较困难.java 接口的成员变量之所以这样设计,就是为了解决C++ 中的这个问题.成员变量必须是static 的,所以接口里的成员变量就不再属于某个对象,而…