访问权限

当用一个类创建了一个对象之后,该对象可以通过“.”运算符操作自己的变量、使用类中的方法,但对象操作自己的变量和使用类中的方法是有一定限制的。  
所谓访问权限是指对象是否可以通过“.”运算符操作自己的变量或通过“.”运算符使用类中的方法。 
访问限制修饰符有private、protected和public,都是Java的关键字,用来修饰成员变量或方法。

一、私有变量和私有方法

用关键字private修饰的成员变量和方法称为私有变量和私有方法。 
对于私有成员变量或方法,只有在本类中创建该类的对象时,这个对象才能访问自己的私有成员变量和类中的私有方法。
 class Tom {
    private float weight; 
    private float f(float a,float b){  
        return a+b;
    }     
}
class Jerry {
   void g() {
       Tom cat=new Tom();
       cat.weight=23f;    //非法
       float sum=cat.f(3,4);   //非法
    }
}

二、共有变量和共有方法

用public修饰的成员变量和方法被称为共有变量和共有方法 。 
我们在任何一个类中用类Tom 创建了一个对象后,该对象能访问自己的public变量和类中的public方法(也可以通过类名来操作成员变量、方法) 。
class Tom {
    public float weight;  
    public float f(float a,float b) {  
         return a+b;
    }  
}
class Jerry {
  void g() { 
        Tom cat=new Tom();
         cat.weight=23f;     //合法
         float sum=cat.f(3,4);   //合法
    }
}

三、受保护的变量和方法

用protected修饰的成员变量和方法被称为受保护的成员变量和受保护的方法 。
我们在任何一个类中用类Tom 创建了一个对象后,如果这个类和类Tom在同一个包中,那么该对象能访问自己的protected变量和类中的protected方法。
class Tom { 
    protected  float weight;              
    protected float f(float a,float b) {   
        return a+b;
    }     
}
class Jerry {  
   void g() {
        Tom cat=new Tom();
        cat.weight=23f;      //合法
        float sum=cat.f(3,4); //合法
    }

四、友好变量和友好方法

不用private、public、protected修饰的成员变量和方法被称为友好变量和友好方法。
我们在任何一个类中用类Tom 创建了一个对象后,如果这个类和类Tom在同一个包中,那么该对象能访问自己的友好变量和类中的友好方法。
class Tom { 
    protected  float weight;              
    protected float f(float a,float b) {   
        return a+b;
    }     
}
class Jerry {  
   void g() {
        Tom cat=new Tom();
        cat.weight=23f;      //合法
        float sum=cat.f(3,4); //合法
    }

五、public类与友好类

类声明时,如果在关键字class前面加上public关键字,就称这样的类是一个public 类 。
可以在任何另外一个类中,使用public类创建对象。 
如果一个类不加public修饰,这样的类被称作友好类。
在另外一个类中使用友好类创建对象时,要保证它们是在同一包中。
注:
(1)不能用protected和private修饰类
(2)访问限制修饰符按访问权限从高到低的排列顺序是:public、ptotected、友好的、private。

转载于:https://www.cnblogs.com/wack/p/10180681.html

Java语言基础22--访问权限相关推荐

  1. java语言中的访问权限控制符有哪些,18.Java的访问控制符

    Java的访问控制符 一.类的成员的可见性 对于类的成员变量和成员方法,我们可以通过设定一定的访问可见性来限定应用范围. (一).private private表示当前类访问权限.如果类里的一个成员( ...

  2. java中四种默认的权限修饰符,Java中四种访问权限资料整理

    一.Java中有四种访问权限, 其中三种有访问权限修饰符,分别为private.public.protected,还有一种不带任何修饰符(default). 1. private: Java语言中对访 ...

  3. Java中四种访问权限总结

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 一.Java中有四种访问权限, 其中三种有访问权限修饰符,分别为private.public.pro ...

  4. java的四种访问权限_Java四种访问权限

    一.访问权限简介 访问权限控制: 指的是本类及本类内部的成员(成员变量.成员方法.内部类)对其他类的可见性,即这些内容是否允许其他类访问.Java 中一共有四种访问权限控制,其权限控制的大小情况是这样 ...

  5. 【JAVA语言基础】

    JAVA语言基础 一.JAVA主类结构 1.包声明 2.声明成员变量和局部变量 3.编写主方法 4.导入API类库 二.基本数据类型 1.整数类型 2.浮点类型 3.字符类型 4.布尔类型 三.变量与 ...

  6. JAVA教程-JAVA语言基础框架知识学习点-JAVA精通必看

    JAVA教程中文版在线代码示例 1. JAVA语言基础 1. 1. 导言( 17 ) 1. 9. 变量( 6 ) 1. 2. Java关键词( 1 ) 1. 10. 变量范围( 2 ) 1. 3. J ...

  7. java语言中声明布尔型_【Java初探02】——Java语言基础

    本篇博文就Java语言的一些基本元素进行一些记录和阐述,主要讲解一下Java语言的一些基本构成元素和Java的主类结构. Java语言基础的大致组成 java主类结构 基本的数据类型 变量与常量 运算 ...

  8. Java语言基础(数组)

    Java语言基础(数组概述和定义格式说明) A:为什么要有数组(容器) 为了存储同种数据类型的多个值 B:数组概念 数组是存储同一种数据类型多个元素的集合.也可以看成是一个容器. 数组既可以存储基本数 ...

  9. java语言定义一个具备栈功能的类_Java学习笔记 第二章 Java语言基础

    第二章 JAVA语言基础 一.关键字 1.关键字的定义和特点 定义:被Java语言赋予了特殊含义的单词 特点:关键字中所有的字母都为小写 2.用于定义数据类型的关键字 c;ass  interface ...

最新文章

  1. StringBuilder/StringBuffer类
  2. 【论文阅读】Clustering by Shift
  3. 使用Golang搭建gRPC服务提供给.NetCore客户端调用
  4. 你需要了解的有关.NET日期时间的必要信息
  5. 华平助广东海事局构建水上搜救应急指挥系统
  6. 6-2 第六天 规划项目功能分布
  7. 【符号修改】之修改静态库内部的符号
  8. 十个让你变成糟糕的程序员的行为
  9. 接口测试自动化框架搭建
  10. Mockito when函数实现方式
  11. 利用XrecycleView写多条目展示+流式布局
  12. 顺序表——基本概念、顺序表类实现、基本操作
  13. 全球首份AR报告第二章:AR的工作原理
  14. cms织梦文件夹目录
  15. Team System:基本 Power Tool 工具。
  16. C/C++ error/exception throw: access violation reading location 0x....;
  17. 阿里为什么总mysql_为什么部署在阿里云上 MySQL 老是因为内存而挂掉,不是个例....
  18. appinventor java,(1) AppInventor高级组件之JavaReflector系列教程 概述
  19. 1135 Is It A Red-Black Tree (30分)
  20. 基于java的公链,第一个基于Java的BFT区块链 – Alienchain外星链号称以太坊Java版

热门文章

  1. 核心概念——节点分组 Group
  2. the NTP socket is in use, exiting
  3. 1133:输出亲朋字符串
  4. 【物联网】QCA4010之SNTP协议
  5. ae去黑插件_视频素材如何去黑底?送你这款插件,自动一键去黑底。适用AE、PR...
  6. c++如何打印一维数组首地址_C语言之二维数组和指针的结合
  7. python六角形的绘制 编程_利用Python的turtle重复画六边形
  8. idea项目没法继承httpservlet_intelj idea社区版开发web项目
  9. 《汇编语言(第三版)》pushf 和 popf 指令,以及标志寄存器在 Debug 中的表示
  10. POJ 1852 Ants O(n)