public

具有最大的访问权限。所有类可访问。

protected

主要是用来保护子类。自身、子类及同一个包中类可以访问

default

没有加修饰符的。有时候也称为friendly,它是针对本包访问而设计的。同一包中可以访问。

private

访问权限仅限于类的内部,是一种封装的体现。只能被自己访问

  类内部 子类内部(本包) 其他类(本包) 子类内部(外部包) 其他类(外部包)
public O O O O O
protected O O O O X
default O O O X X
private O X X X X

示例代码

包apkg

ParentA.java

package apkg;

public class ParentA {
public String publicVariable = "public";
protected String protectedVariable = "protected";
String variable = "default";
private String privateVariable = "privater"; public void show() {
System.out.println(this.publicVariable);
System.out.println(this.protectedVariable);
System.out.println(this.variable);
System.out.println(this.privateVariable);
} public static void main(String[] args) {
ParentA apkg = new ParentA();
apkg.show();
}
}

SonA.java

package apkg;

public class SonA extends ParentA {
public void show() {
System.out.println(this.publicVariable);
System.out.println(this.protectedVariable);
System.out.println(this.variable);
//System.out.println(this.privateVariable);// 无法访问
}
}

UncleA.java

package apkg;

import apkg.ParentA;

public class UncleA {
public void show() {
ParentA apkg = new ParentA();
System.out.println(apkg.publicVariable);
System.out.println(apkg.protectedVariable);
System.out.println(apkg.variable);
//System.out.println(apkg.privateVariable);// 无法访问
}
}

包bpkg

SonB.java

package bpkg;

import apkg.ParentA;

public class SonB extends ParentA {
public void show() {
System.out.println(this.publicVariable);
System.out.println(this.protectedVariable);
//System.out.println(this.variable);// 无法访问
//System.out.println(this.privateVariable);// 无法访问
}
}

UncleB.java

package bpkg;

import apkg.ParentA;

public class UncleB {
public void show() {
ParentA apkg = new ParentA();
System.out.println(apkg.publicVariable);
//System.out.println(apkg.protectedVariable);// 无法访问
//System.out.println(apkg.variable);// 无法访问
//System.out.println(apkg.privateVariable);// 无法访问
}
}

Java修饰符public,protected,default,private访问权限的更多相关文章

  1. 【java基础】(1)Java的权限修饰符(public,protected,default,private)

    访问权限修饰符权限从高到低排列是public  ,protected  ,default, private. 一.根据“是否是同包”.“是否是子类”分为4中情况+本类 5种情况 二.把 同包中的子类 ...

  2. Java访问权限修饰符public protected friendly private用法总结(转载好文Mark)

    首先声明:Java中,friendly这个修饰符并没有显式的声明,在成员变量和方法前什么修饰符也不用,默认的就是friendly.为了条理清晰,分三种不同情况来总结. 一 访问权限修饰符修饰成员变量和 ...

  3. java访问修饰符 public protect default private

    适用范围<访问权限范围越小,安全性越高>   访问权限   类   包  子类  其他包   public     ok   ok    ok     ok         (对所有可用的 ...

  4. java 修饰符的作用一(public protected default private 组)

    1.public protected default private 组 public 权限最大,同类,同包,不同包,同包子类父类之间,不同包子类父类之间都可以访问. java 默认的权限是defau ...

  5. Java修饰符 public、protected、default、private

    2.访问修饰符public,private,protected,以及不写(默认)时的区别?答: 修饰符 当前类 同 包 子 类 其他包 public √ √ √ √ protected √ √ √ × ...

  6. java四种权限修饰符(public > protected > (default) > private)

    权限修饰符在哪里可以访问 (default) : 表示什么权限修饰符都不写 位置 public protected (default) private 同一个类 yes yes yes yes 同一个 ...

  7. JAVA类型修饰符(public,protected,private,friendly)

    JAVA类型修饰符(public,protected,private,friendly) public的类.类属变量及方法.包内及包外的不论什么类均能够訪问:protected的类.类属变量及方法,包 ...

  8. java修饰符public final static abstract transient

    JAVA 修饰符public final static abstract transient  关键字: public final static abstract ...  1.public prot ...

  9. Java修饰符public,private,protected及默认的区别

    Java中访问修饰符public.private.protecte.default的意义讲解:public(接口访问权限): Java语言中访问限制最宽的修饰符,一般称之为“公共的”.被其修饰的类.属 ...

随机推荐

  1. JQury自动切换图片

    [标签]Jquery图片自动切换<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "ht ...

  2. 树的点分治 (poj 1741, 1655(树形dp))

    poj 1655:http://poj.org/problem?id=1655 题意: 给无根树,  找出以一节点为根,  使节点最多的树,节点最少. 题解:一道树形dp,先dfs 标记 所有节点的子 ...

  3. Reverse proxy

    Nginx 反向代理配置: upstream dynamic { zone upstream_dynamic 64k; least_conn; ##适用于long connect,即请求处理时间长 # ...

  4. ORA-00845 startup启动不起来关于磁盘空间扩充

    问题描述:今天在虚拟机下进行startup的操作,但是没有起来,系统报错:ORA-00845: MEMORY_TARGET not supported on this system 1.startup ...

  5. Redis系列(三):Redis集群的水平扩展与伸缩

    一.Redis集群的水平扩展 Redis3.0版本以后,有了集群的功能,提供了比之前版本的哨兵模式更高的性能与可用性,但是集群的水平扩展却比较麻烦,接下来介绍下Redis高可用集群如何做水平扩展,在原 ...

  6. python+selenium +unittest生成HTML测试报告

    python+selenium+HTMLTestRunner+unittest生成HTML测试报告 首先要准备HTMLTestRunner文件,官网的HTMLTestRunner是python2语法写 ...

  7. [UWP]UIElement.Clip虽然残废,但它还可以这样玩

    1. 复习一下WPF的UIElement.Clip 用了很久很久的WPF,但几乎没有主动用过它的Clip属性,我只记得它很灵活,可以裁剪出多种形状.在官方文档复习了一下,大致用法和效果如下: < ...

  8. scrapy结合selenium抓取武汉市环保局空气质量日报

    1.前言 目标网站:武汉市环境保护局(http://hbj.wuhan.gov.cn/viewAirDarlyForestWaterInfo.jspx).scrapy对接selenium模块抓取空气质 ...

  9. 华为USG防火墙nat环回配置

    网络环境介绍: 公司内网有一台web服务器,地址是192.168.100.100,web服务端口为80,并且为这台web服务器申请了DNS A记录的域名解析服务,解析记录是公司出口ip地址100.10 ...

  10. TensorFlow2.0

    安装开发环境 1.首先安装 anaconda(https://www.anaconda.com/) 2.修改anaconda的镜像源 conda config --add channels https ...