`
maccter
  • 浏览: 64310 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

java protected关键字的访问权限

    博客分类:
  • Java
阅读更多

   学过java的都知道,protected的访问权限对子类来说,无论在包里还是保外都能访问的,真实情况是什么样的呢?同包下的子类继承就不研究了,主要看下不同包下的子类

    父类:

package com.father;

       public class Father1 {
	
	   String name;
	   public int age;
	   protected String color;

  }

   子类:

package com.son;

import com.father.Father1;

public class Son extends Father1{
	
	public static void main(String[] args) {
		String c;
		// TODO Auto-generated method stub
                Father1 f = new Father1();
                c = f.color;//无法访问,报错

                Father1 f = new Son();
                c = f.color;//无法访问,报错

                Son s = new Son();
                c = s.color;//正常
	}

}

 

  在Son类中新建个副类:

class Son2 extends Son{
	
	public static void main(String[] args) {
		String c;
		Son s = new Son2();
		c = s.color;//无法访问,报错
		
		Son2 s2 = new Son2();
		c = s2.color;//正常
	}

 

 

    由此可以看出只能是子类自己的实例对象才能访问父类protected,其他的都不能访问

    这里再给出《java in a nutshell》中的一段话:

protected access requires a little more elaboration. Suppose class A declares a protected field x and is extended by a class B, which is defined in a different package (this last point is important). Class B inherits the protected field x, and its code can access that field in the current instance of B or in any other instances of B that the code can refer to. This does not mean, however, that the code of class B can start reading the protected fields of arbitrary instances of A! If an object is an instance of A but is not an instance of B, its fields are obviously not inherited by B, and the code of class B cannot read them.

    

     

分享到:
评论

相关推荐

    java中protected的权限

    `protected`是Java中四种访问权限之一,它在类的封装和继承中扮演着重要的角色。本篇文章将深入探讨`protected`关键字的含义、用法以及它在实际开发中的应用。 1. `protected`的含义: `protected`是一种中级访问...

    Java关键字及其作用

    protected 关键字允许访问权限扩展到同一包内的任何类,以及不同包中的子类。这使得子类可以访问并可能修改父类的受保护成员,但限制了包外的类直接访问这些成员。 3. **public**:公共的。public 关键字允许无限制...

    Java关键字详细解

    `public`、`private`、`protected`是访问修饰符,用于控制类、方法和变量的访问权限。`public`可以被任何地方访问,`private`只能在定义它的类内部访问,`protected`在同包内或子类中可访问。`static`关键字用于声明...

    java中public、protected、默认、private关键字

    Java 访问修饰符(public、protected、默认、private) Java 中的访问修饰符是 Java 语言中一种基本概念,用于控制类、方法、变量、构造方法等成员的访问权限。 Java 中有四种访问修饰符:public、protected、默认...

    java具体关键字和用法

    `protected` 是 Java 中的一个访问修饰符,用于限制类成员的访问权限。`protected` 成员可以在同一个包内的类或者子类中访问。例如: ```java public class Person { protected String name; } ``` ### 23. ...

    JAVA关键字总结(整理后最全最详细)

    - `private` 访问修饰符,限制访问权限,仅限于在同一类内部。 32. `protected`: - `protected` 访问修饰符,允许子类和同一包内的类访问。 33. `public`: - `public` 是最高级别的访问修饰符,允许任何地方...

    java 关键字查询文档

    6. **访问控制关键字**:`public`、`private`、`protected` 和 `default` 控制成员的访问权限。 7. **修饰符关键字**:`final` 用于创建不可变对象或常量,`abstract` 用于声明抽象类或方法,`static` 创建静态成员...

    java 变量、关键字

    这些关键字定义了Java语言的基本语法结构,例如`class`用于定义类,`public`用于声明公开访问权限。 **3. 关键字的使用** - **注意事项**:关键字不可用作标识符,如类名、变量名等。 - **保留关键字**:`goto`是...

    java访问权限修饰符public.doc

    在 Java 语言中,访问权限修饰符是指用来限定类、成员变量和方法的可访问范围的关键字。访问权限修饰符分为四种:public、protected、friendly 和 private。每种修饰符都有其特定的访问权限和使用场景。 一、public...

    01-Java语言基础(关键字)

    2. `private`: 相反,`private` 关键字限制了访问权限,使得只有在同一个类内部才能访问该成员(变量或方法)。 3. `protected`: 这是介于`public`和`private`之间的一个访问修饰符,允许子类访问受保护的成员。 4...

    java中带super关键字的程序内存分析

    4. **访问权限控制**:`super`关键字不能访问父类的私有(private)成员,但可以访问保护(protected)和包内(default)的成员。这是因为私有成员的访问仅限于同一类内部,而受保护和默认访问级别的成员在子类中是...

    java关键字,适合新手的ppt

    修饰符如`private`, `public`, `protected`定义了访问权限,`final`, `static`, `abstract`, `native`, `synchronized`, `volatile`, `strictfp`, `transient`分别用于定义不可变对象、静态成员、抽象方法、本地方法...

    java关键字和java命名规范.pdf

    31. protected: 修饰符,表示类中成员的访问权限为受保护的。 32. public: 修饰符,表示类中成员的访问权限为公有的。 33. return: 用于从方法中返回值。 34. short: 基本数据类型,表示16位的有符号整数。 35. ...

    JAVA所有关键字的含义

    32. `private`:私有的,限制访问权限,只能在定义它的类内部访问。 33. `protected`:受保护的,可以在同一包内的类或子类中访问。 34. `public`:公开的,可以被任何地方的代码访问。 35. `return`:从方法中...

    java语言关键字[归类].pdf

    30. **私有(Private)**: `private` 访问修饰符,限制访问权限,仅限于同一类内的访问。 31. **受保护(Protected)**: `protected` 访问修饰符,允许子类和同一包内的类访问。 32. **公共(Public)**: `public`...

    Java的关键字.pdf

    31. `protected`:比`private`更宽松的访问级别,允许同一包内的类和子类访问。 32. `public`:最高级别的访问权限,允许所有代码访问。 33. `return`:结束方法并返回一个值,如果方法无返回值,则只用于结束方法...

    Java基础关键字介绍.docx

    修饰符关键字用于控制类、方法和变量的访问权限和其他特性。 ##### 1. 访问修饰符 - **private**:私有修饰符,限制访问仅限于类内部。 - **protected**:保护修饰符,允许类本身、子类以及同一包中的其他类访问。 ...

    Java关键字英文解释

    它限制访问权限,只允许在同一个包内的类或子类访问被`protected`修饰的成员。例如: ```java public class Teacher { protected float salary; protected void display() { System.out.println("薪水是:" + ...

    Java的关键字解释.pdf

    23. `public`: 修饰符,表示方法或变量可以在任何地方访问,是最高的访问权限。 24. `return`: 结束方法执行,并返回一个值(如果方法声明了返回值)。 25. `short`: 定义短整型变量,用于存储较小的整数值。 26....

    java保留字、关键字

    在Java编程语言中,保留字(Reserved Words)和关键字(Keywords)是两个非常重要的概念,它们构成了Java语法的基础。保留字是Java语言已经预定义并赋予特定含义的词汇,而关键字则是Java语法结构中不可或缺的部分。...

Global site tag (gtag.js) - Google Analytics