Java四种访问控制修饰符知识点总结

 更新时间:2018年03月02日 09:34:10   作者:彬菌  
本篇文章给大家详细分析了Java四种访问控制修饰符的相关知识点,有兴趣的朋友可以参考学习下。

Java技术迷

java有四种访问控制修饰符。

  1. public
  2. protected
  3. private
  4. default(默认为空,不加任何修饰)

为了用代码对比出其中的区别,首先建立两个包,分别为area1和area2;五个类,分别是Person、PersonDemo、PersonSon、PersonTest、OutPerson。

然后Person、PersonDemo、PersonSon放在area1包下。

PersonTest、OutPerson放在area2包下。

四个访问控制修饰符在同类下的代码例子:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
package area1;
 
public class Person {
  public String _public="公共变量"; //定义一个公共变量
  private String _private="私有变量"; //定义一个私有变量
  protected String _protected="保护变量 "; //定义一个保护变量
  String _default="默认变量"; //使用默认方法定义变量
    
  public void _pub(){ //创建一个公共方法
    System.out.println(_public);
  }
  private void _pri(){ // 创建一个私有方法
    System.out.println(_private);
  }
  protected void _pro(){ //创建一个保护方法
    System.out.println(_protected);
  }
  void _def(){ //创建默认方法
    System.out.println(_default);
  }
  public static void main(String[] args){
    Person p=new Person(); //创建对象
    p._pub(); //调用方法
    p._pri();
    p._pro();
    p._def();
  }
}

四个访问控制修饰符在同包不同类(不含子类)下的代码例子:

1
2
3
4
5
6
7
8
9
10
11
package area1;
 
public class PersonDemo {
  public static void main(String[] args){
    Person p=new Person(); //创建Person类的对象
    p._pub();
    p._pri(); //报错 
    p._pro();
    p._def();
  }
}

四个访问控制修饰符在同包子类下的代码例子:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
package area1;
 
public class PersonSon extends Person{ //子类PersonSon继承父类Person
  public static void main(String[] args){
    PersonSon son=new PersonSon(); //子类创建对象
 
    son._pub();
    son._pro();
    son._def();
    son._pri(); //报错
     
    Person father=new Person(); //父类创建对象
    father._def();
    father._pub();
    father._def();
    father._pri(); //报错
  }
}

四个访问控制修饰符在同包不同类(不含子类)下的代码例子:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
package area2;
 
import area1.Person; //引用area1包下的Person类
  
public class PersonTest {
  public static void main(String[] args){
    Person p=new Person(); //Person类创建对象
     
    p._pub();
    p._pro(); //报错
    p._pri(); //报错
    p._def(); //报错
  }
}

四个访问控制修饰符在同包子类下的代码例子:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
package area2;
 
import area1.Person; //引用area1包下的Person类
 
public class OutPerson extends Person{ //子类继承父类
  public static void main(String[] args){
    OutPerson out=new OutPerson(); //子类创建对象
     
    out._pub();
    out._pro();
    out._pri(); //报错
    out._def(); //报错
  }
}

注意:仔细与图表对比!

蓄力AI

微信公众号搜索 “ 脚本之家 ” ,选择关注

程序猿的那些事、送书等活动等着你

原文链接:https://www.idaobin.com/archives/514.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权/违法违规/事实不符,请将相关资料发送至 reterry123@163.com 进行投诉反馈,一经查实,立即处理!

相关文章

  • 堆排序实例(Java数组实现)

    堆排序实例(Java数组实现)

    下面小编就为大家分享一篇使用Java数组实现堆排序的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2017-12-12
  • spring retry实现方法请求重试的使用步骤

    spring retry实现方法请求重试的使用步骤

    这篇文章主要介绍了spring retry实现方法请求重试及使用步骤,本文分步骤通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-07-07
  • 关于fastjson的常见API详解

    关于fastjson的常见API详解

    这篇文章主要介绍了关于fastjson的常见API详解,Fastjson是一个Java库,可用于将Java对象转换为其JSON表示,它还可用于将JSON字符串转换为等效的Java对象,Fastjson可以处理任意Java对象,包括您没有源代码的预先存在的对象,需要的朋友可以参考下
    2023-07-07
  • Maven  pom.xml与settings.xml详解

    Maven pom.xml与settings.xml详解

    这篇文章主要介绍了Maven pom.xml与settings.xml详解的相关资料,这里对pom.xml与setting.xml详细的研究说明,需要的朋友可以参考下
    2016-12-12
  • Springboot集成fastDFS配置过程解析

    Springboot集成fastDFS配置过程解析

    这篇文章主要介绍了Springboot集成fastDFS配置过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-11-11
  • mybatis 根据id批量删除的实现操作

    mybatis 根据id批量删除的实现操作

    这篇文章主要介绍了mybatis 根据id批量删除的实现操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-08-08
  • java把字符串转化成公式计算的示例

    java把字符串转化成公式计算的示例

    今天小编就为大家分享一篇java把字符串转化成公式计算的示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-07-07
  • 利用Java对PDF文件进行电子签章的实战过程

    利用Java对PDF文件进行电子签章的实战过程

    随着电子账单、回单、通知、合同的流行,电子文档的可信度变得非常重要,为防止非法篡改,确保文档的权威性,我们可以对PDF进行电子签章,这篇文章主要给大家介绍了关于如何利用Java对PDF文件进行电子签章的相关资料,需要的朋友可以参考下
    2021-07-07
  • 新手学习微服务SpringCloud项目架构搭建方法

    新手学习微服务SpringCloud项目架构搭建方法

    这篇文章主要介绍了新手学习微服务SpringCloud项目架构搭建方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-01-01
  • Java多种方式实现生产者消费者模式

    Java多种方式实现生产者消费者模式

    这篇文章主要介绍了Java多种方式实现生产者消费者模式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-07-07

最新评论