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

Java对比public protected default private 访问范围

    博客分类:
  • java
阅读更多
A类:
package test3;

public class A {
	
	public String public_str = "A_public_str";
	protected String protected_str = "A_protected_str";
	String default_str = "A_default_str";
	private String private_str = "A_private_str";
	
	public void access(){
		System.out.println("同包下,本类中,调用本类(A类)属性,访问情况如下:");
		System.out.println(public_str);
		System.out.println(protected_str);
		System.out.println(default_str);
		System.out.println(private_str);
	}

}
B类:
package test3;

public class B extends A{

	public void access(){
		System.out.println("同包,子孙类关系,继承A类,调用A类属性,访问情况如下:");
		System.out.println(super.public_str);
		System.out.println(super.protected_str);
		System.out.println(super.default_str);
		System.out.println("private_str 无法访问");
	}
}
C类:
package test3;

public class C {

	A a = new A();
	
	public void access(){
		System.out.println("同包下,非子孙类关系,C类中new一个A类对象,调用A类属性,访问情况如下:");
		System.out.println(a.public_str);
		System.out.println(a.protected_str);
		System.out.println(a.default_str);
		System.out.println("private_str 无法访问");
	}
}
 
D类:
package test4;

import test3.A;

public class D extends A{
	
	public void access(){
		System.out.println("不同包,继承A类,调用A类属性,访问情况如下:");
		System.out.println(super.public_str);
		System.out.println(super.protected_str);
		System.out.println("default_str 无法访问");
		System.out.println("private_str 无法访问");
	}

}
 
E类:
package test4;

import test3.A;

public class E {
	
	A a= new A();
	
	public void access(){
		System.out.println("不同包,非子孙类关系,调用A类属性,访问情况如下:");
		System.out.println(a.public_str);
		System.out.println("protected_str 无法访问");
		System.out.println("default_str 无法访问");
		System.out.println("private_str 无法访问");
	}

}
 
Main类:
package test5;

import test3.A;
import test3.C;
import test3.B;
import test4.D;
import test4.E;

public class Main {

	public static void main(String[] args) {
		A a = new A();
		B b = new B();
		C c = new C();
		D d = new D();
		E e = new E();
		System.out.println("对比public protected default private 访问范围:");
		System.out.println("A类访问情况:");
		a.access();
		System.out.println(" ");
		System.out.println("B类访问情况:");
		b.access();
		System.out.println(" ");
		System.out.println("C类访问情况:");
		c.access();
		System.out.println(" ");
		System.out.println("D类访问情况:");
		d.access();
		System.out.println(" ");
		System.out.println("E类访问情况:");
		e.access();
		System.out.println(" ");

	}

}
 
结果
对比public protected default private 访问范围:
A类访问情况:
同包下,本类中,调用本类(A类)属性,访问情况如下:
A_public_str
A_protected_str
A_default_str
A_private_str

B类访问情况:
同包,子孙类关系,继承A类,调用A类属性,访问情况如下:
A_public_str
A_protected_str
A_default_str
private_str 无法访问

C类访问情况:
同包下,非子孙类关系,C类中new一个A类对象,调用A类属性,访问情况如下:
A_public_str
A_protected_str
A_default_str
private_str 无法访问

D类访问情况:
不同包,继承A类,调用A类属性,访问情况如下:
A_public_str
A_protected_str
default_str 无法访问
private_str 无法访问

E类访问情况:
不同包,非子孙类关系,调用A类属性,访问情况如下:
A_public_str
protected_str 无法访问
default_str 无法访问
private_str 无法访问

 

分享到:
评论

相关推荐

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

    Java 中有四种访问修饰符:public、protected、默认(default)和 private。这四种修饰符的作用域从大到小依次降低。 1. public 修饰符 public 修饰符是最宽松的访问修饰符,它允许从任何地方访问修饰的成员,...

    用java代码来解析private、public、default、protected的权限问题

    本文将深入探讨`private`、`public`、`default`(默认)和`protected`这四种访问权限,并通过代码示例来解析它们在实际编程中的应用。 1. `private`权限: `private`是最低级别的访问权限,它限制了成员只能在同一...

    java中protected的权限

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

    private,public,protected,还有default四种之间的区别

    Java中,我们有四种主要的访问修饰符:`private`,`public`,`protected`,以及默认(无修饰符)。这些修饰符帮助我们实现封装,这是面向对象编程的三大特性之一。下面我们将详细探讨这四种访问修饰符的区别: 1. *...

    【IT十八掌徐培成】Java基础第07天-04.权限-public-private-protected-default.zip

    权限-public-private-protected-default”深入讲解了Java中的四种主要访问权限:public、private、protected以及默认(无修饰符)。这四个修饰符对于理解和编写高质量的Java代码至关重要。 1. **public**:公共访问...

    Java中的private、protected、public和default的区别(详解)

    主要有四种访问控制修饰符:`private`、`protected`、`public`和`default`,它们决定了代码的封装性和可访问性。下面我们将详细解释这四种修饰符的含义和使用场景。 1. `public`: - 公共访问修饰符`public`提供了...

    Java修饰符使用整理(含实例)

    访问修饰符包括 public、protected、default 和 private 四种,用于控制类、成员变量和方法的访问权限。非访问修饰符包括 final、static 和 abstract 三种,用于控制类、成员变量和方法的继承关系和行为。 一、访问...

    java访问权限修饰符public.doc

    Java 作为一种面向对象的编程语言,提供了四种访问权限修饰符,它们分别是 `public`、`protected`、`default`(通常称为“包访问”或“友好访问”,文中提到的 `friendly` 实际上就是 `default`)和 `private`。...

    Java访问权限控制源代码

    Java提供了四种主要的访问修饰符:`public`、`protected`、`default`(无修饰符)和`private`。这些修饰符决定了成员(如类、方法和字段)在不同范围内的可访问性。 - `public`:公开的,可以在任何地方访问。 -...

    java 面试题

    【试题分析】Java 有4 种访问类型,分别为public 、protected 、default 和private 。其中public 变量 可以被所有的外部类访问,而pretected 的可以被同一个包及该类的子类访问,default 即没有任何修饰符 的变量...

    Java基础测试题答案.doc

    在 Java 中,有四种访问权限:public、private、protected 和 default。public 访问权限是最高的,可以被所有类访问。private 访问权限是最低的,只能被当前类访问。protected 访问权限介于两者之间,能够被当前类和...

    java的访问修饰符的范围说明

    Java语言中为了控制方法和成员变量的可见性和访问级别,定义了几种访问修饰符:private, protected, public, 和默认(未修饰)访问权限。这些修饰符决定了不同类之间的访问能力,以保证类的封装性和安全性。接下来,...

    Java四种变量特性

    在Java编程语言中,变量的访问控制是通过四种访问修饰符来实现的,它们分别是`public`、`private`、`protected`以及默认的(无修饰符,也称为`default`)。这些修饰符决定了变量在类的不同部分以及不同类之间的可见...

    Java基础知识整理

    Java语言提供了四种访问控制权限:public、private、protected和default。访问控制权限用于控制类、方法和变量的访问范围。 * public:public访问权限是最高的,任何地方都可以访问公有类、方法和变量。 * private...

    java-对比操作前后不同-裸包

    3. **可见性**:Java的访问修饰符(public, protected, default, private)默认在同一个包内的类之间有较高的可见性。裸包意味着所有类都默认在同一包内,可能导致不必要的互相访问。 标签"Java clazz"指出了这个...

    软通动力Java笔试题.pdf

    在Java中,存在五种访问权限控制等级,从最宽松到最严格控制等级依次是:public、default、protected、private。这些访问权限控制可以控制类、方法和变量的访问范围。 集合框架 Java集合框架中,常用的两个List的...

    Java的外部类为什么不能使用private和protected进行修饰的讲解

    Java是一种面向对象的编程语言,它的类修饰符有public、default、private、protected等,但是为什么Java的外部类不能使用private和protected进行修饰呢?今天我们就来探讨这个问题。 首先,我们需要了解Java的类...

    JAVA实验-类和对象

    常见的访问修饰符有 public、private、protected 和 default。public 修饰符表示成员可以被外部访问,而 private 修饰符表示成员只能在类内部访问。protected 修饰符表示成员可以被子类访问,而 default 修饰符表示...

    java 四种关系修饰符访问(csdn)————程序.pdf

    Java提供了四种访问修饰符:public、protected、default(无修饰符)和private。了解这些修饰符及其关系对于编写清晰、安全的代码至关重要。 1. **public**:公共访问修饰符,表示该成员可以在任何地方被访问,无论...

    Java访问权限控制源代码.zip

    如果一个类或变量没有明确声明为public、protected或private,那么它就是默认访问权限。 3. **保护(Protected)**:保护访问权限允许子类和同包内的类访问。这意味着即使在不同的包中,如果一个类是另一个类的子类...

Global site tag (gtag.js) - Google Analytics