以前对于java中类的访问控制没有做一定的研究,毕竟每次编代码由于Eclipse的智能型使得现在某些原理并没有实际的掌握,因此今天重新自己编代码将其区别分辨出来。
1. Private:它只能被所定义的类或类的不同对象所访问。当外部访问这个变量时将出错。
public class A {
private int a;
private void count(){
System.out.println("测试");
}
}
public class B {
public void acceptMethod(){
A a=new A();
a.a=10;
a.count();
}
}
这样是错误的,B不能访问A的属性及方法,因为类B不是A类型的。但是如果我让B继承A,这样它会对吗?答案也是否定的。如果B继承A,只能说明B是A的子类,并不能说明B就是A类型。因此这里可以将A中的访问权限改为public和protected;
2. Protected:允许类本身、子类以及相同包中的类访问它,属于家庭秘密型,不让外人知道
package A;
public class A {
protected int a;
protected void count(){
System.out.println("测试");
}
}
package B;
import A.A;
public class B extends A{
void test(){
A a=new A();
a.a=10;
a.count();
}
}
此方式是错误的,不被不同包中的类访问,所以是不能得到编译的。将该类放入同一包中,此时就是前面private说到的处理方式了,这样protected属性及方法就能得到访问。
3. Public是无秘密可言,任何人都能看到。即使在不同包中任然一样能够访问。拿protected前面处理的例子进行修改,将发现其是可行的。在这里就不做代码介绍了。
4. 缺省
Java中如果不显示地设置成员访问控制的时候,即缺省的访问控制,该访问控制允许在相同包中的类成员之间相互访问,相当于在同一包中的类是相互信任的朋友。
package A;
public class A {
int a;
void count(){
System.out.println("测试");
}
}
package B;
import A.A;
public class B extends A{
void test(){
A a=new A();
a.a=10;
a.count();
}
}
该方式处理是错误的,因为他们不属于同一个包中,且其访问方式是缺省的方式。处理方式是对缺省方式,将另外一个访问类放置于同一个包中。
总结:根据上面的例子及分析做如下总结。
1. Public的访问权限最大,可以被不同包中的任何类访问到。
2. Protected访问权限属于家庭秘密型,秘密只归“亲戚”所分享,因此不同包的类不允许其访问。
3. Private最自私,其只允许自己访问。因此针对某些需要保护的数据可以采用该修饰符。
4. 缺省访问权限与protected相类似。
分享到:
相关推荐
Java 访问修饰符是 Java 编程语言中的一种重要机制,它控制着类、方法和变量的访问权限。访问修饰符可以分为四种:public、protected、private 和缺省(无访问修饰符)。 public 访问修饰符 public 访问修饰符是最...
Java 修饰符可以分为两大类:访问修饰符和非访问修饰符。访问修饰符包括 public、protected、default 和 private 四种,用于控制类、成员变量和方法的访问权限。非访问修饰符包括 final、static 和 abstract 三种,...
在 Java 语言中,访问权限修饰符是指用来限定类、成员变量和方法的可访问范围的关键字。访问权限修饰符分为四种:public、protected、friendly 和 private。每种修饰符都有其特定的访问权限和使用场景。 一、public...
正确地使用它们可以帮助开发者更好地管理代码的可见性和访问控制,从而构建出更安全、更易于维护的应用程序。需要注意的是,在实际开发过程中,应根据具体的需求选择合适的权限修饰符,以达到最佳的代码组织效果。
根据 JAVA 访问修饰符的特性和使用范围,我们可以将其分为三类:修饰符类的访问修饰符、属性的访问修饰符和方法的修饰符。 一、修饰符类的访问修饰符 修饰符类的访问修飾符共有四种:默认、public、abstract 和...
2. **域的控制修饰符** - **public**: 公共访问控制,允许任何类访问。 - **private**: 私有访问控制,只能在定义类内部访问,提供数据封装。 - **protected**: 保护访问控制,允许同一包内的类和不同包的子类...
首先,我们讨论访问控制修饰符。在Java中,有四个级别的访问控制: 1. **公开级别**:`public`,它表示任何地方都可以访问,没有限制。 2. **受保护级别**:`protected`,允许在同一包内的类以及不同包下的子类访问...
1. 类的访问控制修饰符: - **public**:公共访问修饰符,允许任何地方的代码访问该类或成员。这意味着类或方法可以在任何包中被调用。 - **默认(无修饰符)**:当没有明确指定访问修饰符时,类或成员具有包级...
### Java零基础-访问控制权限修饰符 #### 内容概要 本文旨在全面解析Java中的访问控制权限修饰符,具体涉及`public`、`private`、`protected`及默认访问级别(即不使用任何显式修饰符时的情况)。通过本篇文章的...
Java提供了两种主要类型的修饰符:访问控制修饰符和非访问控制修饰符。本文将深入探讨Java的访问控制修饰符,包括`private`、`default`(也称为`friendly`)、`protected`和`public`,以及它们如何影响程序的结构和...
在Java编程语言中,"三个修饰符"通常指的是访问控制修饰符:`public`、`private`和`protected`。这些修饰符用于定义类、接口、变量和方法的可访问性,是理解Java面向对象特性的重要组成部分。让我们深入探讨这三个...
Java语言中的类修饰符和访问控制符是编程中至关重要的概念,它们决定了代码的组织结构、访问权限和封装性。本实验旨在深入理解和熟练运用这些关键特性。 首先,Java类修饰符包括`public`, `private`, `protected`...
Java修饰符主要分为两大类:访问控制符和非访问控制符。其中,访问控制符用于控制类、方法和变量的可访问性范围,而非访问控制符则用于提供额外的功能,如抽象、静态、同步等。 #### 访问控制符 访问控制符包括`...
继承和接口和java访问权限修饰符总结 本文总结了 Java 中的继承、接口和访问权限修饰符的概念和使用。继承是 Java 中的一种机制,允许子类继承父类的属性和方法,並且可以对父类的方法进行重写或重载。动态绑定是指...
Java是一种面向对象的编程语言,其中修饰符和访问修饰符是控制代码访问权限和行为的重要元素。本篇文章将详细介绍Java中的各种修饰符和访问修饰符。 1. **类的访问修饰符** - `public`:任何类都可以访问声明为`...
类的修饰符分为访问控制符和非访问控制符两大类。 一、访问控制符 访问控制符是 Java 语言中控制类及类的成员变量和方法的访问权限的修饰符。访问控制符分为四种级别: 1. 公有访问控制符(public):public 修饰...
public修饰符提供了最宽松的访问控制,它允许任何其他类访问被public修饰的类、方法和成员变量。被public修饰的类可以被其他任何类实例化,其方法和属性可以在任何地方被调用。通常用于类的公共接口,即类对外提供的...
Java四种访问控制修饰符知识点总结 Java是一种面向对象的编程语言,在Java中,访问控制修饰符是用来控制类、变量、方法的访问权限的...本文通过详细的代码例子和解释,帮助开发者更好地理解Java的四种访问控制修饰符。
Java中的修饰符可以分为两大类:访问修饰限定符和非访问修饰限定符。 访问修饰限定符 访问修饰限定符用于控制类、方法、变量的访问权限。Java中的访问修饰限定符有四种:public、private、protected和默认(也就是...