1、JAVA中有四个访问修饰符:default/public/private/protected
2、他们都拥有着不同的访问权限,而在不同情况下又有着不同的访问权限,分为以下几种
{
1、同类中
{
首先我们写一段用来测试的代码
{
class boar
{
void defmethod()
{
System.out.println("default method");
}
protected void promethod()
{
System.out.println("protected method");
}
private void primethod()
{
System.out.println("private method");
}
public void pubmethod()
{
System.out.println("public method");
}
public static void main(String[] sl)
{
boar objboar=new boar();
objboar.defmethod();
objboar.promethod();
objboar.primethod();
objboar.pubmethod();
}
}
保存,编译,成功!
打印结果:
default method
protected method
private method
public method
通过以上测试,我们得出:在同一类中,这四个方法都是可以被访问的!
}
}
2、同包中的两个类
{
首先我们来写代码(写两个类,把他们放到同一包下):
{
类一:
package boar.medemo;
class boar
{
void defmethod()
{
System.out.println("default method");
}
protected void promethod()
{
System.out.println("protected method");
}
private void primethod()
{
System.out.println("private method");
}
public void pubmethod()
{
System.out.println("public method");
}
}
类二:
package boar.medemo;
class boardemo
{
public static void main(String[] sl)
{
boar objboar=new boar();
objboar.defmethod();
objboar.primethod();
objboar.promethod();
objboar.pubmethod();
}
}
}
保存代码,编译,在这时,编译的时候会提示如下错误提示:
boardemo.java:8: primethod() 可以在 boar.medemo.boar 中访问 private
objboar.primethod();
^
1 错误
意思是说:boar方法中的primethod()方法无法访问
因此我们得出:在同一包中,private的方法没有权限访问!
}
3、在不同包中子类继续父类
{
首先,我们来写代码(写两个类,放在不同的包中)
{
代码一:
package boar.medemo;
public class boar
{
void defmethod()
{
System.out.println("default method");
}
protected void promethod()
{
System.out.println("protected method");
}
private void primethod()
{
System.out.println("private method");
}
public void pubmethod()
{
System.out.println("public method");
}
}
代码二:
import boar.medemo.boar;
class boardemo extends boar
{
public void pro()
{
defmethod();
primethod();
promethod();
pubmethod();
}
}
}
保存,编译(javac -d . boar.java和javac -d . boardemo.java),这时系统提示:
boardemo.java:6: 找不到符号
符号: 方法 defmethod()
位置: 类 boardemo
defmethod();
^
boardemo.java:7: 找不到符号
符号: 方法 primethod()
位置: 类 boardemo
primethod();
^
2 错误
我们可以看到:在不同的包中,缺省的方法和私有的方法是不能被访问的。由于boardemo类是继承boar类的,因此protected的方法也是可以被访问的。而default方法上面我们已经得到验证,它只能在同一个包中的类进行访问,所以default方法也不能被访问
因此,我们得到:在不同的包中(继承过来),缺省方法(default)和私有方法(private)是不能被访问的
}
}
关系图:
private 类内 不同类 不能
default 类内+包内 在不同的包中import后 也不能
protect 类内+包内+继承内
public 公共
分享到:
相关推荐
Java 中有四种访问修饰符:public、protected、默认(default)和 private。这四种修饰符的作用域从大到小依次降低。 1. public 修饰符 public 修饰符是最宽松的访问修饰符,它允许从任何地方访问修饰的成员,...
访问修饰符包括 public、protected、default 和 private 四种,用于控制类、成员变量和方法的访问权限。非访问修饰符包括 final、static 和 abstract 三种,用于控制类、成员变量和方法的继承关系和行为。 一、访问...
本文将深入探讨`private`、`public`、`default`(默认)和`protected`这四种访问权限,并通过代码示例来解析它们在实际编程中的应用。 1. `private`权限: `private`是最低级别的访问权限,它限制了成员只能在同一...
Java中,我们有四种主要的访问修饰符:`private`,`public`,`protected`,以及默认(无修饰符)。这些修饰符帮助我们实现封装,这是面向对象编程的三大特性之一。下面我们将详细探讨这四种访问修饰符的区别: 1. *...
本文将详细探讨Java中的五种权限修饰符:`public`、`protected`、`default`(也称为包访问权限)、`private`以及`static`修饰类的情况,并通过实例来展示这些修饰符的具体应用。 #### 1. Public - **概述**: - `...
Java修饰符是编程中至关重要的概念,它们用于定义类、接口、变量和方法的访问权限、行为和特性。本文将详细介绍Java中常见的修饰符及其用途。 1. **类的修饰符** - **public**: 公共访问控制符,允许任何地方的...
Java 作为一种面向对象的编程语言,提供了四种访问权限修饰符,它们分别是 `public`、`protected`、`default`(通常称为“包访问”或“友好访问”,文中提到的 `friendly` 实际上就是 `default`)和 `private`。...
本文将深入探讨Java的访问控制修饰符,包括`private`、`default`(也称为`friendly`)、`protected`和`public`,以及它们如何影响程序的结构和安全性。 #### 访问控制修饰符:封装的基石 访问控制修饰符是Java语言...
Java中的访问修饰限定符有四种:public、private、protected和默认(也就是不写任何修饰符)。 1. public:公共的,任意处都能进行访问 2. private:私有的,只能在当前类中进行访问 3. protected:包访问权限,...
Java语言中为了控制方法和成员变量的可见性和访问级别,定义了几种访问修饰符:private, protected, public, 和默认(未修饰)访问权限。这些修饰符决定了不同类之间的访问能力,以保证类的封装性和安全性。接下来,...
权限-public-private-protected-default”深入讲解了Java中的四种主要访问权限:public、private、protected以及默认(无修饰符)。这四个修饰符对于理解和编写高质量的Java代码至关重要。 1. **public**:公共访问...
Java提供了四种访问修饰符:public、protected、default(无修饰符)和private。了解这些修饰符及其关系对于编写清晰、安全的代码至关重要。 1. **public**:公共访问修饰符,表示该成员可以在任何地方被访问,无论...
本文主要分析了Java中常见的访问修饰符(public、private、protected、friendly/default)以及非访问修饰符(final、abstract、static、native)。我们将通过具体的例子和解析深入理解这些修饰符的作用。 首先,...
- `public`、`protected`、`default` 和 `private`:这四个访问修饰符同样适用于方法和变量,与访问权限的规则相同。 - `final`:表示常量或不可变的,用于变量表示其值不能改变,用于方法表示不能被重写。 - `...
非访问修饰符是 Java 语言中修饰类和方法的其他特性的修饰符。非访问修饰符有两种: 1. 抽象类(abstract):abstract 修饰符修饰的类称为抽象类,抽象类是没有具体对象的概念类,不能被实例化。 2. 最终类(final...
Java提供了四种访问控制修饰符:public、protected、private、default(默认为空,不加任何修饰)。本文将详细介绍这四种访问控制修饰符的知识点。 一、public访问控制修饰符 public访问控制修饰符是最松的访问...
Java 中有四种访问修饰符,即 public、protected、default 和 private。 1. public 访问修饰符 public 访问修饰符是最宽松的访问修饰符,表示该类、方法或变量可以被所有类访问,无论是否在同一个包中。public ...
`protected`是Java中四种访问权限之一,它在类的封装和继承中扮演着重要的角色。本篇文章将深入探讨`protected`关键字的含义、用法以及它在实际开发中的应用。 1. `protected`的含义: `protected`是一种中级访问...
Java语言提供了四种不同的访问权限修饰符:`public`、`protected`、`default`(也称为包私有或包默认)以及`private`。这些修饰符用于控制类、方法、变量等成员的可见性和可访问性。 - **public**:公共访问级别,...